码迷,mamicode.com
首页 > 其他好文 > 详细

Spiral Matrix II

时间:2014-06-04 19:28:23      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:c   style   class   blog   code   java   

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 ] ]
bubuko.com,布布扣
class Solution {
public:
    vector<vector<int> > generateMatrix(int n) 
    {
       vector<vector<int>>  result;
       if(n==0return result;
       
       for(int i=0;i<n;i++)
       {
           vector<int> v;
           for(int j=0;j<n;j++)
            v.push_back(0);
            result.push_back(v);
        }
        int len=n-1;
        int num=1;
        int x=0;
        result[0][0]=1;
        while(len>=1)
        {
            for(int i=0;i<len;i++)
                result[x][x+i]=num++;
            for(int i=0;i<len;i++)
                result[x+i][x+len]=num++;
            for(int i=0;i<len;i++)
                result[x+len][x+len-i]=num++;
            for(int i=0;i<len;i++)
                result[x+len-i][x]=num++;
            len=len-2;
            x++;
        }
        if(len==0) result[x][x]=num;
        return result;
    }
};
bubuko.com,布布扣

Spiral Matrix II,布布扣,bubuko.com

Spiral Matrix II

标签:c   style   class   blog   code   java   

原文地址:http://www.cnblogs.com/erictanghu/p/3759429.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!