原题链接:Reshape the Matrix
题解:
public class Solution {
public int[][] matrixReshape(int[][] nums, int r, int c) {
/*
Time Complexity:O(M*N)
Space Complexity:O(M*N)
*/
int[][]res=new int[r][c];
int x=0,y=0;
if(nums.length==0 || r*c!=nums[0].length*nums.length)return nums;
for(int i=0;i<nums.length;i++)
{
for(int j=0;j<nums[0].length;j++){
res[x][y]=nums[i][j];
y++;
if(y==c){
x++;
y=0;
}
}
}
return res;
}
}
本文介绍了一种用于重塑矩阵的算法实现方法,通过遍历原始矩阵并按顺序填充新矩阵,确保了时间复杂度为O(M*N)且空间复杂度也为O(M*N)。该算法适用于当目标矩阵的元素总数等于原始矩阵元素总数的情况。
320

被折叠的 条评论
为什么被折叠?



