每日几题之不会的
给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。
输入:n = 3
输出:[[1,2,3],[8,9,4],[7,6,5]]
学习大佬的
class Solution {
public int[][] generateMatrix(int n) {
int[][] arr = new int[n][n];
int c = 1, j = 0;
while(c <= n*n){
for(int i=j; i < n-j;i++){
arr[j][i] = c++;
}
for(int i=j+1;i<n-j;i++){
arr[i][n-j-1] = c++;
}
for(int i=n-j-2;i>=j;i--){
arr[n-j-1][i] = c++;
}
for(int i=n-j-2;i>j;i--){
arr[i][j] = c++;
}
j++;
}
return arr;
}
}