代码随想录 Leetcode59.螺旋矩阵II

题目:


代码(首刷看解析,2023年12月29日):

class Solution {
public:
    vector> generateMatrix(int n) {
        vector> ans(n,vector(n,0));
        int startX = 0, startY = 0;
        int offset = 1;
        int count = 1;
        int loop = n / 2;
        int i,j;
        while(loop --){
            i = startX;
            j = startY;

            for(j = startY; j < n - offset ; ++j){
                ans[i][j] = count++;
            }
            for(i = startX; i < n - offset ; ++i){
                ans[i][j] = count++;
            }
            for(; j > startY ; --j){
                ans[i][j] = count++;
            }
            for(; i > startX ; --i){
                ans[i][j] = count++;
            }
            offset++;
            startX++;
            startY++;
        }
        if(n % 2){
            ans[n/2][n/2] = count;
        }
        return ans;
    }
};

你可能感兴趣的:(#,leetcode,---medium,c++,算法)