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;
}
};
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;
}
};
相关文章推荐
- leetcode -- 566. Reshape the Matrix 【矩阵转换 + 不同数组下标映射】
- LeetCode-566:Reshape the Matrix (矩阵整型)-- easy
- 566. Reshape the Matrix
- LeetCode 566. Reshape the Matrix (Easy)
- Leetcode 566. Reshape the Matrix 矩阵变形(数组,模拟,矩阵操作)
- Leetcode 566. Reshape the Matrix(Easy)
- <LeetCode>566. Reshape the Matrix
- 566. Reshape the Matrix(2017/11/3)
- 566. Reshape the Matrix
- 566. Reshape the Matrix
- 566. Reshape the Matrix
- Leetcode 566 Reshape the Matrix
- 566. Reshape the Matrix
- Leetcode 566. Reshape the Matrix 矩阵变形(数组,模拟,矩阵操作)
- 566. Reshape the Matrix(Java)
- 566. Reshape the Matrix
- 566. Reshape the Matrix
- LeetCode-566-Reshape the Matrix-E
- leetcode 566 Reshape the Matrix
- 566. Reshape the Matrix