首页 > 其他 > 详细

【LeetCode】Spiral Matrix II

时间:2014-05-12 19:53:53      阅读:418      评论:0      收藏:0      [点我收藏+]

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 ]
]
此题与Spiral Matrix类似,可以用相同的方法解决,相比之下,此题比前一题简单
bubuko.com,布布扣
public class Solution {
    public int[][] generateMatrix(int n) {
        int[][] matrix=new int[n][n];
        int temprow=n;
        int tempcol=n;
        int start =-1;
        int end=-1;
        int t=1;
        while(temprow>0&&tempcol>0){
            start++;
            end++;
            for(int i=start;i<tempcol;i++){
                matrix[start][i]=t;
                t++;
            }
                
            for(int j=start+1;j<temprow;j++){
                matrix[j][tempcol-1]=t;
                t++;
            }
            for(int x=tempcol-2;x>=end;x--){
                matrix[temprow-1][x]=t;
                t++;
            }
                
            for(int y=temprow-2;y>start;y--){
                matrix[y][end]=t;
                t++;
            }
                
            
            temprow=temprow-1;
            tempcol=tempcol-1;
        }
        return matrix;
        
    }
}
bubuko.com,布布扣

 

【LeetCode】Spiral Matrix II,布布扣,bubuko.com

【LeetCode】Spiral Matrix II

原文:http://www.cnblogs.com/yixianyixian/p/3722211.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!