前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >LeetCode 2022. 将一维数组转变成二维数组

LeetCode 2022. 将一维数组转变成二维数组

作者头像
Michael阿明
发布于 2022-01-07 03:16:05
发布于 2022-01-07 03:16:05
38300
代码可运行
举报
运行总次数:0
代码可运行

文章目录

1. 题目

给你一个下标从 0 开始的一维整数数组 original 和两个整数 m 和 n 。 你需要使用 original 中 所有 元素创建一个 m 行 n 列的二维数组。

original 中下标从 0 到 n - 1 (都 包含 )的元素构成二维数组的第一行,下标从 n 到 2 * n - 1 (都 包含 )的元素构成二维数组的第二行,依此类推。

请你根据上述过程返回一个 m x n 的二维数组。 如果无法构成这样的二维数组,请你返回一个空的二维数组。

示例 1:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
输入:original = [1,2,3,4], m = 2, n = 2
输出:[[1,2],[3,4]]
解释:
构造出的二维数组应该包含 22 列。
original 中第一个 n=2 的部分为 [1,2] ,构成二维数组的第一行。
original 中第二个 n=2 的部分为 [3,4] ,构成二维数组的第二行。

示例 2:
输入:original = [1,2,3], m = 1, n = 3
输出:[[1,2,3]]
解释:
构造出的二维数组应该包含 13 列。
将 original 中所有三个元素放入第一行中,构成要求的二维数组。

示例 3:
输入:original = [1,2], m = 1, n = 1
输出:[]
解释:
original 中有 2 个元素。
无法将 2 个元素放入到一个 1x1 的二维数组中,所以返回一个空的二维数组。

示例 4:
输入:original = [3], m = 1, n = 2
输出:[]
解释:
original 中只有 1 个元素。
无法将 1 个元素放满一个 1x2 的二维数组,所以返回一个空的二维数组。
 
提示:
1 <= original.length <= 5 * 10^4
1 <= original[i] <= 10^5
1 <= m, n <= 4 * 10^4

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/convert-1d-array-into-2d-array 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Solution {
public:
    vector<vector<int>> construct2DArray(vector<int>& original, int m, int n) {
        if(m*n != original.size()) return {};
        vector<vector<int>> ans(m, vector<int>(n));
        for(int i = 0; i < original.size(); ++i)
        {
            ans[i/n][i%n] = original[i];
        }
        return ans;
    }
};

124 ms 83.2 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/10/07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
详解Leetcode中关于malloc模拟开辟二维数组问题,涉及二维数组的题目所给函数中的各个参数的解读
最近博主一直再刷Leetcode上有关c语言的题目,有些题目第一步就将我卡死了。为什么呢?因为题目中所给的函数里的参数的具体含义我既然都不知道是什么意思。当然在请教了一些大佬后我也顺利解决了,不然也不会有人和你们分享了,哈哈哈~ 我就已一个典型的题目来介绍吧:题目链接: 2373. 矩阵中的局部最大值
用户11029269
2024/03/19
1670
【Java】基础算法练习题
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
.29.
2024/03/03
2310
【Java】基础算法练习题
认识一维数组与二维数组
本章讲述暂时只讨论一维数组和二维数组;多维数组(二维及二位以上),数组作为函数参数等章节不参与此次讨论,但会在能力范围内讲的明白。感谢观看(本人为技术萌新,只讨论在实践过程中的心得,如有问题请及时指出)
用户11367452
2024/11/21
2360
认识一维数组与二维数组
【C语言】二维数组
练习1:一个学习小组有 5 个人,每个人有三门课的考试成绩。求全组分科的平均成绩和 各科总平均成绩。
謓泽
2022/12/12
1.8K0
【C语言】二维数组
【C语言】二维数组
    前⾯学习的数组被称为⼀维数组,数组的元素都是内置类型的,如果我们把⼀维数组做为数组的元素,这时候就是⼆维数组,⼆维数组作为数组元素的数组被称为三维数组,⼆维数组以上的数组统称为多维数组
TANGLONG
2024/10/15
1740
【C语言】二维数组
C语言数组基础知识详解---一维数组,二维数组,数组访问,二分查找
存放在数组的值被称为数组的元素,数组在创建的时候可以指定数组的大小和数组的元素类型。 type 指定的是数组中存放数据的类型,可以是:char、short、int、float 等,也可以是自定义的类型。 arr_name 指的是数组名的名字,这个名字根据实际情况,起的有意义就行。 []中的常量值是用来指定数组的大小的,这个数组的大小是根据实际的需求指定就行。
fhvyxyci
2024/09/24
3060
C语言数组基础知识详解---一维数组,二维数组,数组访问,二分查找
(力扣)面试题04. 二维数组中的查找
[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26, 30] ]
手撕代码八百里
2020/07/28
5070
菜鸟的每日力扣系列——2022. 将一维数组转变成二维数组
解本题的关键就是它的边界条件,只需满足len(original) = m * n便可以转变成m行n列的二维数组,解法如下:
才浅Coding攻略
2022/12/12
3600
菜鸟的每日力扣系列——2022. 将一维数组转变成二维数组
LeetCode刷题记录:剑指 Offer 04. 二维数组中的查找
在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
英雄爱吃土豆片
2020/10/29
4000
LeetCode刷题记录:剑指 Offer 04. 二维数组中的查找
剑指offer | 面试题3:二维数组的查找
往期推荐 干货 | 手撕十大经典排序算法 剑指offer | 认识面试 剑指offer | 面试题2:实现Singleton模式 面试题3: 二维数组中的查找 “题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的个二维数组和一个整数,判断数组中是否含有该整数。 “leetcode:https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/submissio
千羽
2021/12/29
2030
剑指offer | 面试题3:二维数组的查找
【C语言】一维数组和二维数组
type_t arr_name [const_n] type_t-----数组元素类型 arr_name-----数组名 [const_n]----- 是一个常量表达式,用来指定数组大小
YoungMLet
2024/03/01
1940
LeetCode笔记:566. Reshape the Matrix
也没什么特别的思路,就是遍历原二维数组,来按照数量建立新的二位数组,C++中用容器实现。唯一要注意的就是操作前的参数判断:是否为空数组、是否元素数一致、是否没变化之类的。
Cloudox
2021/11/23
3800
LeetCode 1260. 二维网格迁移
给你一个 m 行 n 列的二维网格 grid 和一个整数 k。你需要将 grid 迁移 k 次。
Yano_nankai
2021/02/26
3290
【每日一题】【leetcode】9. 数组-二维数组中的查找
在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 难易程度:easy
aneutron
2022/08/10
2380
【Java学习笔记之九】java二维数组及其多维数组的内存应用拓展延伸
多维数组声明 数据类型[][] 数组名称; 数据类型[] 数组名称[]; 数据类型数组名称[][]; 以上三种语法在声明二维数组时的功能是等价的。同理,声明三维数组时需要三对中括号,中括号的位置可以在数据类型的后面,也可以在数组名称的后面,其它的依次类推。 例如: int[][] map; char c[][]; 和一维数组一样,数组声明以后在内存中没有分配具体的存储空间,也没有设定数组的长度。  ---------------------------------------------
Angel_Kitty
2018/04/09
1.4K0
【Java学习笔记之九】java二维数组及其多维数组的内存应用拓展延伸
剑指 Offer(C++版本)系列:剑指 Offer 04 二维数组中的查找
同步GitHub在此 ? https://github.com/TeFuirnever/GXL-Skill-Tree 剑指 Offer(C++版本)系列:总目录和一些提高效率的说明 剑指 Offer(
我是管小亮
2021/07/20
5400
一维数组与二维数组———详细解读及一些注意事项
这里注意一点,在C99标准里有变长数组的概念,所谓变长数组并不是指数组会变长,而是指用整型变量或表达式声明或定义的数组。如下所示:
诺诺的包包
2023/02/17
5900
一维数组与二维数组———详细解读及一些注意事项
剑指offer | 04. 二维数组中的查找
针对一个二维数组,最简单的方式就是2层for循环逐一查找,这种方式时间复杂度O(M*N)。
孟君
2023/02/23
2720
剑指offer | 04. 二维数组中的查找
LeetCode120|二维数组中的查找
在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
码农王同学
2020/10/27
7190
C++二维数组 | 二维数组输出0-6
C++的二维数组是指具有两个下标的数组,有些数据要依赖于两个因素才能惟一地确定,因此才会引入二维数组。
小林C语言
2020/12/01
8380
C++二维数组 | 二维数组输出0-6
推荐阅读
相关推荐
详解Leetcode中关于malloc模拟开辟二维数组问题,涉及二维数组的题目所给函数中的各个参数的解读
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验