侧边栏壁纸
博主头像
Hope博主等级

努力赚钱的工科研究生

  • 累计撰写 362 篇文章
  • 累计创建 129 个标签
  • 累计收到 5 条评论
标签搜索

LeetCode 59. 螺旋矩阵 II

Hope
2022-02-22 / 0 评论 / 0 点赞 / 267 阅读 / 416 字
温馨提示:
本文最后更新于 2022-02-22,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

LeetCode 59. 螺旋矩阵 II

思路:

与下面这道题的思路一致,res存储的答案不是矩阵里面的值,而是递增的。
代码:

class Solution {
public:
    vector<vector<int>> generateMatrix(int n) {
        int dx[]={0,1,0,-1};
        int dy[]={1,0,-1,0};
        int d=0;
        int x=0,y=0;
        int k=1;
        vector<vector<int>> res(n,vector<int> (n));

        for(int i=0;i<n*n;i++){
            res[x][y]=k++;
            int a=x+dx[d],b=y+dy[d];

            if(a < 0 || a >= n || b < 0 || b >= n || res[a][b]){
                d=(d+1)%4;
                a=x+dx[d];
                b=y+dy[d];
            }
            x=a,y=b;
        }
        return res;
    }
};
0

评论区