您的位置:首页 > 其它

566. Reshape the Matrix

2017-11-03 13:11 363 查看
题目的要求是:给定一个矩阵,根据给出的r跟c,即行数跟列数,去重塑矩阵,即返回一个行数为r,列数为c的矩阵。其实解题思路很简单,因为不管矩阵怎么排列,元素的总个数是不变的,我们只需要重新计算每个元素的位置即可,就是计算出每个元素在新矩阵中的下标。完整的代码如下:

class Solution {
public:
vector<vector<int>> matrixReshape(vector<vector<int>>& nums, int r, int c) {
int row = nums.size();
int col = nums[0].size();

if (r * c != row * col) return nums;
vector<vector <int>> shape(r, vector<int>(c, 0));
for (int i = 0; i < row * col; i++) {
shape[i / c][i % c] = nums[i / col][i % col];
}
return shape;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: