题目
给你一个下标从 0 开始的一维整数数组 original 和两个整数 m 和 n 。你需要使用 original 中 所有 元素创建一个 m 行 n 列的二维数组。
original 中下标从 0 到 n - 1 (都 包含 )的元素构成二维数组的第一行,下标从 n 到 2 * n - 1 (都 包含 )的元素构成二维数组的第二行,依此类推。
请你根据上述过程返回一个 m x n 的二维数组。如果无法构成这样的二维数组,请你返回一个空的二维数组。
解题思路
先判断能否转换,再按照顺序依次填充。
代码
class Solution {
public int[][] construct2DArray(int[] original, int m, int n) {
if (original.length != n * m) return new int[][]{};
int[][] ans = new int[m][n];
int length = original.length;
for (int i = 0; i < length; i++) {
ans[i / n][i - i / n * n] = original[i];
}
return ans;
}
}
2022年的第一个题就是2022题,新的一年也要加油呀!