leetcode 日经贴,Cpp code -Spiral Matrix II

来源:互联网 发布:域名进黑名单的后果 编辑:程序博客网 时间:2024/05/18 01:25

Spiral Matrix II

class Solution {public:    vector<vector<int> > generateMatrix(int n) {        int dir[][2] = {{0,1}, {1,0}, {0,-1}, {-1,0}};        vector<vector<int> > mat;        mat.resize(n);        for(int i = 0; i < n; ++i) {            mat[i].resize(n);        }        int d = 0, num = 1, r = 0, c = 0, step = n;        bool dstep = true;        while (num <= n * n) {            for (int i = 0; i < step; ++i) {                mat[r][c] = num++;                r += dir[d][0];                c += dir[d][1];            }            r -= dir[d][0];            c -= dir[d][1];            d = (d + 1) % 4;            r += dir[d][0];            c += dir[d][1];            if (dstep) {                step--;            }            dstep = !dstep;        }        return mat;    }};


0 0