// LeetCode 59 螺旋矩阵II
// 分情况套路,比n*m的简单,注意奇偶
class Solution {
public int[][] generateMatrix(int n) {
int[][] res = new int[n][n];
int k = 0;
int count = 1;
while(k < n / 2){
for (int j = k; j < n - k; j ++){
res[k][j] = count++;
}
for (int i = k + 1; i < n - k; i ++){
res[i][n - k - 1] = count++;
}
for (int j = n - k - 2; j > k; j--){
res[n - k - 1][j] = count++;
}
for (int i = n - k - 1; i > k; i --){
res[i][k] = count++;
}
k++;
}
if ((n & 1) == 1) {
res[n/2][n/2] = n * n;
}
// print(res);
return res;
}
public void print(int[][] res){
for (int i = 0; i < res.length; i ++){
for (int j = 0;j < res.length; j++){
System.out.printf("%d ", res[i][j]);
}
System.out.println();
}
}
}