FTPrep, Spiral Matrix II

来源:互联网 发布:网络模式怎么设置 编辑:程序博客网 时间:2024/06/03 07:42

思路很顺了,主要注意细节。好处理的地方在于这是个square

1,n 的奇偶数,决定了最后的中心位置是一个点,通过go around 的方法没法reach到

2,for 循环里的 int j 的范围,和对应的是row 还是 col 要找准了,一般是有很好的对称性的,先检查好对称性再 submit

代码:

class Solution {    public int[][] generateMatrix(int n) {        if(n==0) return new int[0][0];        int[][] result = new int[n][n];        int num=1;        int round = n/2;        int len=n;        for(int i=0; i<round; i++){            for(int j=i; j<len-1-i; j++) result[i][j]=num++;            for(int j=i; j<len-1-i; j++) result[j][len-1-i]=num++;            for(int j=len-1-i; j>i; j--) result[len-1-i][j]=num++;            for(int j=len-1-i; j>i; j--) result[j][i]=num++;        }        if(n%2==1) result[round][round]=num;        return result;    }}


原创粉丝点击