ITPub博客

首页 > > > [LeetCode] Spiral Matrix II

[LeetCode] Spiral Matrix II

作者:Ruiyuan Li 时间:2015-04-04 00:00:00 0 删除 编辑

Spiral Matrix II

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

For example,
Given n = 3,

You should return the following matrix:

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

解题思路:

http://blog.csdn.net/kangrydotnet/article/details/44727955的姐妹篇。不停的进行扫描而已。注重分析能力。

源代码:

class Solution {
public:
    vector > generateMatrix(int n) {
        int** d=new int*[n];
        for(int i=0; i=y; i--){
                d[n-x-1][i]=data;
                data++;
            }
            
            //赋值左边
            for(int i=n-x-2; i>x; i--){
                d[i][y] = data;
                data++;
            }
            x++;
            y++;
        }
        
        vector> result;
        for(int i=0; i row;
            for(int j=0; j

二次刷题(update in 2015-07-29)

class Solution {
public:
    vector> generateMatrix(int n) {
        if(n<=0){
            vector> result;
            return result;
        }
        vector> result(n, vector(n, 0));
        
        int layer = 0;
        int num = 0;
        while(num=n*n){
                break;
            }
            //南边
            for(int i=n-1-layer-1; i>=layer; i--){
                result[n-1-layer][i] = ++num;
            }
            //西边
            for(int i=n-1-layer-1; i>layer; i--){
                result[i][layer] = ++num;
            }
            layer++;
        }
        
        return result;
    }
};


转载请注明: » [LeetCode] Spiral Matrix II
<!-- -->

原文作者:;如有侵权,请联系管理员删除。

上一篇: [LeetCode] Subsets II
请登录后发表评论 登录
全部评论

注册时间:2020-05-21

  • 博文量
    495
  • 访问量
    4826