class Solution {
public:
vector<vector<int>> matrixReshape(vector<vector<int>>& nums, int r, int c) {
int w=nums.size();
int h=nums[0].size();
if(w*h != r*c) return nums;
vector<int>max;
for(int i=0;i<w;i++){
for(int j=0;j<h;j++){
max.push_back(nums[i][j]);
}
}//将原始矩阵存储在一维向量中;
vector<vector<int>> num(r,vector<int>(c,0));
for(int i=0;i<r;i++){
for(int j=0;j<c;j++){
num[i][j]=max[i*c+j];
}
}
return num;
}
};
在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。
最新推荐文章于 2024-03-11 09:59:13 发布