元旦快乐!
崭新的一年,就有这道简单题拉开帷幕吧。
话说,幸亏编号2022的题不是困难题啊。谁想周末+新年大早起来刷困难题啊,还是轻松点过吧。
1、瞅瞅题
所以去年第一天是给的2021号题咯?
题目很直白,就是把长度m*n的一维数组,转换为m行n列的二维数组。
2、审题
别审了,也别来啥思路了。
吃着吐司唱着歌,单手就敲完了的题,也没啥可说的。
3、话不多说直接干!
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;
}
}
4、解读
除了不能实现数组的情况,就是原数组长度不为m*n时,直接返回空数组。
其余的就是简单的遍历了,确认每个下标在原数组中因有的位置即可。
5、提交
6、咀嚼
两重遍历,时间复杂度O(M*N)
空间复杂度O(1)
7、总结
其他省略,我们直接总结!
新年要有新气象。
特别是新年的第一天,不要在这道简单题上浪费太多时间。
再加上又是美好的三天假,不知道你是选择加班,还是选择休息。
但总之,珍惜当下的每一分的每一秒吧。
我是社畜菌,不知跨入今年后这个博客还会更新多久。
但总之,2022年快乐吧。