欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

leetcode 59. Spiral Matrix II【蛇形填数】

程序员文章站 2022-01-15 11:59:22
...

Given a positive integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.

Example:

Input: 3
Output:
[
 [ 1, 2, 3 ],
 [ 8, 9, 4 ],
 [ 7, 6, 5 ]
]

就是leetcode 54Spiral Matrix【贪吃蛇】反回来而已

用上次第二种代码1A了

class Solution {
public:
    vector<vector<int>> generateMatrix(int n) {
        vector<vector<int>> ans(n,vector<int>(n,0)); 
        int sx=0,sy=0,ex=n-1,ey=n-1;
        int tot=1;
        while(sx<=ex){
            for(int i=sy;i<=ey;i++)
                ans[sx][i]=tot++;
            for(int i=sx+1;i<=ex;i++)
                ans[i][ey]=tot++;
            for(int i=ey-1;i>=sy;i--)
                ans[ex][i]=tot++;
            for(int i=ex-1;i>=sx+1;i--)
                ans[i][sy]=tot++;
            sx++,sy++;
            ex--,ey--;
        }
        return ans;
    }
};

 

相关标签: leetcode