红袖添香网站建设时间,网页设计入门知识,如何设计小程序,房地产最新消息20222022. 将一维数组转变成二维数组 
给你一个下标从 0 开始的一维整数数组 original 和两个整数 m 和 n 。你需要使用 original 中 所有 元素创建一个 m 行 n 列的二维数组。 
original 中下标从 0 到 n - 1 #xff08;都 包含 #xff09;的元素构成二维数组的第一行#xf…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 中第一个 n2 的部分为 [1,2] 构成二维数组的第一行。
original 中第二个 n2 的部分为 [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 
解题思路 
先判断original数组的大小是否与二维数组的大小相等如果不相等直接返回空数组将original数组中的元素按行填充到新的二维数组里面 
代码 
class Solution {
public:vectorvectorint construct2DArray(vectorint original, int m, int n) {if (original.size()!m*n) return vectorvectorint{};vectorvectorint v(m,vectorint(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;}
};