class Solution {
public:
int N,M;
int move(vector<vector<int>>& nums,int& x,int& y){
int t = nums[x][y];
y++;
if(y == M){
y = 0;
x++;
}
return t;
}
vector<vector<int>> matrixReshape(vector<vector<int>>& nums, int r, int c) {
N = nums.size();
M = nums[0].size();
if(N*M == r*c){
vector<vector<int>> ans(r,vector<int>(c,0));
int x,y;
x = y = 0;
for(int i=0;i<r;i++){
for(int j=0;j<c;j++){
ans[i][j] = move(nums,x,y);
}
}
return ans;
}
return nums;
}
};
No.83 - LeetCode566
最新推荐文章于 2021-09-16 15:18:24 发布
本文介绍了一个用于矩阵重塑的算法,该算法能够将一个给定的二维矩阵转换为另一个指定维度的矩阵,前提是两个矩阵的元素总数相等。通过遍历原始矩阵并将元素重新分配到新矩阵中,实现了矩阵形状的改变。
193

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



