题解 | #螺旋矩阵(二)#

螺旋矩阵(二)

https://www.nowcoder.com/practice/2c8078a728834e81a046fdefdea049aa

class Solution {
public:
    vector<vector<int> > Matrix(int n) {
        vector<vector<int>> f(n,vector<int>(n,0));
        vector<vector<int>> ans(n,vector<int>(n));
        int i = 1,x = 0,y = 0;
        while(i<=n*n)
        {   
            if(!f[x][y])
            {
                ans[x][y] = i;
                f[x][y] = 1; 
                i++;
            }
            while(!f[x][y+1] && y+1<n) {
                y++;
                ans[x][y] = i;
                f[x][y] = 1;
                i++;
            }
            while(!f[x+1][y] && x+1<n) {
                x++;
                ans[x][y] = i;
                f[x][y] = 1;   
                i++;
            }
            while(!f[x][y-1] && y-1>=0){
                y--;
                ans[x][y] = i;
                f[x][y] = 1;    
                i++;
            }
            while(!f[x-1][y] && x-1>=0) {
                x--;
                ans[x][y] = i;
                f[x][y] = 1;    
                i++;
            }
        }
        return ans;
    }
};

全部评论

相关推荐

叮咚鸭:群众里面有坏人
点赞 评论 收藏
分享
把球:这个听过,你加了就会发现是字节的hr
点赞 评论 收藏
分享
评论
点赞
1
分享
牛客网
牛客企业服务