美文网首页
566. 重塑矩阵

566. 重塑矩阵

作者: SunspotsInys | 来源:发表于2019-05-26 10:16 被阅读0次

先把代码贴上来。

class Solution {
public:
    vector<vector<int>> matrixReshape(vector<vector<int>>& nums, int r, int c) {
        if (nums.size()*nums[0].size() != r*c) {
            return nums;
        }
        vector<vector<int> > num(r);
        int rl=0, cl=0;
        for (int i = 0; i < nums.size(); ++i) {
            for (int j = 0; j < nums[0].size(); ++j) {
                if (cl < c) {
                    num[rl].push_back(nums[i][j]);
                    cl++;
                } else {
                    cl = 0;rl++;
                    num[rl].push_back(nums[i][j]);
                    cl++;
                }
            }
        }

        return num;
    }
};

思路很朴素,首先判断能不能转换,不能转换的话,就直接结束了。
能转换的话就是首先申请一个r维向量。开始还有些想当然,没申请就用,然后测试的时候就越界了。
我还申请了两个 int 变量去记录当前转换到哪一行哪一列了。接下来就一路遍历挨个转换。
很开心,用时击败了 95.43% 的 C++ 提交。只不过,开始的时候,我感觉我可以写出中等题,后来放弃了,我还是先简单题吧。

相关文章

网友评论

      本文标题:566. 重塑矩阵

      本文链接:https://www.haomeiwen.com/subject/qmlxtctx.html