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

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

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

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

示例 1:输入:original = [1,2,3,4], m = 2, n = 2
输出:[[1,2],[3,4]]
解释:
构造出的二维数组应该包含 2 行 2 列。
original 中第一个 n=2 的部分为 [1,2] ,构成二维数组的第一行。
original 中第二个 n=2 的部分为 [3,4] ,构成二维数组的第二行。示例 2:输入:original = [1,2,3], m = 1, n = 3
输出:[[1,2,3]]
解释:
构造出的二维数组应该包含 1 行 3 列。
将 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∗1045 * 10^45∗104
1 <= original[i] <= 10510^5105
1 <= m, n <= 4∗1044 * 10^44∗104

解题思路

  1. 先判断original数组的大小是否与二维数组的大小相等,如果不相等直接返回空数组
  2. 将original数组中的元素按行填充到新的二维数组里面

代码

class Solution {public:vector<vector<int>> construct2DArray(vector<int>& original, int m, int n) {if (original.size()!=m*n) return vector<vector<int>>{};vector<vector<int>> v(m,vector<int>(n,0));int idx(0);for (int i = 0; i < m; ++i) {for (int j = 0; j < n; ++j) {v[i][j]=original[idx++];}}return v;}
};

2022. 将一维数组转变成二维数组相关推荐

  1. python二维列表的展开_python将三维数组展开成二维数组的实现

    这篇文章尝试用"曲线救国"的方法来解决二维数组叠加成三维数组的问题. 但天道有轮回,苍天绕过谁.好不容易把数组叠加在一块儿了,新的需求又出现了:将三维数组展开成二维数组.有借有还, ...

  2. python 将三维数据转为二维_python将三维数组展开成二维数组的实现

    这篇文章尝试用"曲线救国"的方法来解决二维数组叠加成三维数组的问题. 但天道有轮回,苍天绕过谁.好不容易把数组叠加在一块儿了,新的需求又出现了:将三维数组展开成二维数组.有借有还, ...

  3. numpy中三维数组转变成二维数组

    numpy中reshape()函数对三维数组进行转换成二维数组,见下面例子: 1 >>>a=np.reshape(np.arange(18),(3,3,2))2 >>&g ...

  4. php 三维数组合并成二维数组_Excel VBA 数组知识点,数组能不能用好,就看这个你学会没有...

    今天和大家要说的是VBA数组的应用,上篇文章我们说的是数组的基础知识点,有不明白的小伙伴可以点击链接进行知识点回顾,今天主要说说数组的几个操作方法,这个是我们以后会经常遇到的,也是经常会使用的方法. ...

  5. php将一维数组转换成二维数组

    原来的数组 $fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry'); 期望变成的数组 $fruit = ...

  6. 根据json字段把一维数组改变成二维数组

    如题  先设置好json数组 let arr = [{name: '苹果',type: '水果',}, {name: '西瓜',type: '水果',}, {name: '胡萝卜',type: '蔬菜 ...

  7. leetcode算法题--将一维数组转变成二维数组

    原题链接:https://leetcode-cn.com/problems/convert-1d-array-into-2d-array/ vector<vector<int>> ...

  8. 把一维数组处理成二维数组

    array (size=3)'幸运抽奖' => array (size=4)'开宝箱' => string 'http://baidu.com' (length=16)'大转盘' => ...

  9. 行业分类,一维数组转换成二维数组

    文章写得不是很好,只是为了后期可能忘了,而做得一个笔记. 这是原始数据 [{"id":1,"pid":0,"sort":1,"ti ...

最新文章

  1. VC++ 定时器基本使用
  2. 工作301:substring使用
  3. bat从数组中找出相同数字并删除_全网把Map中的hash()分析的最透彻的文章,别无二家...
  4. 7.1.8860.142
  5. java作业不能运行_从Windows运行时,YARN作业失败
  6. ospf lesson 3
  7. 【连载】如何掌握openGauss数据库核心技术?秘诀三:拿捏存储技术(5)
  8. 在linux centos 7上安装maven
  9. 中国风吉祥纹样底纹背景,艾草绿和天青色趋势色彩
  10. 现在的年轻人不够努力了吗?是什么原因?
  11. java生成pdf417_java生成PDF417条码
  12. centos7.2 开发 部署 .net core
  13. 如何去掉windows2003的自动锁定(每离开一会都会出现这个界面,不想让它出现)...
  14. linux命令行如何打开浏览器,Linux下的命令行浏览器links
  15. python·文本分析
  16. Linux df 命令使用详解
  17. html 导航栏颜色代码,CSS实现五颜六色按钮组成的导航条效果代码
  18. c# 微信公众号开发之自定义菜单栏
  19. WIN10系统-Deepin系统重装
  20. 建立FAT文件系统学习笔记

热门文章

  1. Linux多线程——使用信号量同步线程
  2. 【C++ Priemr | 15】面向对象程序设计
  3. Wireshark(1):Wireshark基本用法
  4. python烟花表白_python炫酷烟花表白源代码
  5. deeplearning.ai 改善深层神经网络 week2 优化算法
  6. webBroser获取cookie
  7. HTTPS与MITM
  8. 斗地主你什么时候才会托管?(.NET中的托管于非托管)
  9. 【问题解决】无法创建新的堆栈防护页面
  10. IOS UIPageController