day03-数组
**LeetCode:59.螺旋矩阵II
59.给定一个正整数 n,生成一个包含 1 到 n^2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。
示例:
输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ]
public static void main(String[] args) {
int n = 3;
int[][] ints = makeMatrix(n);
System.out.print("[");
for (int i = 0; i < ints.length; i++) {
System.out.print("[");
for (int j = 0; j < ints[i].length; j++) {
System.out.print(ints[i][j]);
if(j< ints.length-1){
System.out.print(",");
}
}
System.out.print("]");
if (i<ints.length-1){
System.out.print(",");
}
}
System.out.print("]");
}
public static int[][] makeMatrix(int n){
int[][] arrs = new int[n][n];
int startx = 0;
int starty = 0;
int offset =1;
int count = 1;
int i,j;
//记录圈数
int loop = 1;
while (loop <= n/2){
for (j=starty;j<n-offset;j++){
arrs[startx][j] = count++;
}
for (i=startx;i<n-offset;i++){
arrs[i][j] = count++;
}
for (;j>starty;j--){
arrs[i][j] =count++;
}
for (;i>startx;i--){
arrs[i][j] =count++;
}
starty++;
startx++;
offset++;
loop++;
}
if (n%2 == 1){
arrs[startx][starty] = count;
}
return arrs;
}