通过万岁!!!
- 题目:给你定一个数组,然后给你一个m和n表示需要输出的二维数组的维度,然后将一维数组转变成二维数组。
- 思路:两层for遍历这个二维数组,然后依次赋值
- 技巧:就是两层遍历,在遍历之前先通过维度判断是不是能够满足要求
伪代码
通过维度判断是不是满足要求 创建需要返回的数组res for遍历这个数组 数组的ij位置放的是一维数组的i*n+j的元素 return res即可
java代码
class Solution { public int[][] construct2DArray(int[] original, int m, int n) { if (original.length != m * n) return new int[0][0]; int res[][] = new int[m][n]; for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { res[i][j] = original[i * n + j]; } } return res; } }
- 总结:这个题目很简单,但是不明白为什么我的空间复杂度这么高。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)