59. Spiral Matrix II 螺旋矩阵二

题目链接
tag:

  • Medium;

question:
  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 ]
]

思路:
  此题跟之前那道 Spiral Matrix 本质上没什么区别,就相当于个类似逆运算的过程,这道题是要按螺旋的顺序来填数,代码如下:

class Solution {
public:
    vector<vector<int>> generateMatrix(int n) {
        vector<vector<int>> res(n, vector<int>(n, 0));
        int up = 0, down = n - 1, left = 0, right = n - 1, val =1;
        while (true) {
            for (int i=left; i<=right; ++i) res[up][i] = val++;
            if (++up > down) break;
            
            for (int i=up; i<=down; ++i) res[i][right] = val++;
            if (--right < left) break;
            
            for (int i=right; i>=left; --i) res[down][i] = val++;
            if (--down < up) break;
            
            for (int i=down; i>=up; --i) res[i][left] = val++;
            if (++left > right) break;
        }
        return res;
    }
};
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • leetcode 59. Spiral Matrix II Given an integer n, generat...
    飞飞廉阅读 818评论 0 0
  • 记得第一次到上海的时候,还是个冬天,路边梧桐树的枯叶飘了一地,枝子上光秃秃的,什么都看不到。 我呵出了一口气,白蒙...
    藏泷卧虎阅读 5,480评论 4 12
  • 话不多说,先讲个小故事。 梅梅和华华是好朋友,梅梅有一罐奶糖,华华有一罐水果糖,他们决定用自己的糖去换对方的糖。 ...
    棋中卒阅读 1,163评论 0 1
  • 01 他是一个回族小伙子,也是我接触到的唯一一个异性回民朋友。说起朋友这两个字,我心里有过欺骗的酸楚,也有过遗憾的...
    等爱的猫阅读 3,775评论 5 7
  • 原书信息 影响力 作者:【美】罗伯特·西奥迪尼 译者:闾佳 出版社:北京联合出版传媒(集团)股份有限公司 万卷出版...
    静子777阅读 5,037评论 0 52