给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。
示例:
输入: 3
输出:
[
[ 1, 2, 3 ],
[ 8, 9, 4 ],
[ 7, 6, 5 ]
]
解答:是规范的矩阵,所以可以查找规律
类似回字
**解答:**此处可以查看原方法
class Solution {
public int[][] generateMatrix(int n) {
int[][] res = new int[n][n];
int k = 1;
int j = 0;
while(k <= n * n){
for(int i = j; i < n-j; i++){
res[j][i] = k++;
}
for(int i = j+1; i < n-j; i++){
res[i][n-j-1] = k++;
}
for(int i = n-j-2; i >= j; i--){
res[n-j-1][i] = k++;
}
for(int i = n - j - 2; i > j; i--){
res[i][j] = k++;
}
j++;
}
return res;
}
}