将一个数组变成r*c的数组,获得数组长度,如果和r*s不同,就返回原矩阵,否则,就每行读取,给新矩阵每行进行赋值。
java代码:(8ms,不是很快诶==)
public int[][] matrixReshape(int[][] nums, int r, int c) {int sum = nums.length*nums[0].length;
if(r*c==sum) {
int new_sum = 0;
int[][] new_nums = new int[r][c];
for(int i=0;i<nums.length;i++) {
for(int j=0;j<nums[i].length;j++) {
new_sum++;
int m = new_sum/c;
int n = new_sum%c;
if(n==0) {
new_nums[m-1][c-1] = nums[i][j];
}
else {
new_nums[m][n-1] = nums[i][j];
}
}
}
return new_nums;
}else {
return nums;
}
}