题目描述:
给定一个正整数 n,生成一个包含 1 到 n 2 n^2 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。
示例:
输入: 3
输出:
[
[ 1, 2, 3 ],
[ 8, 9, 4 ],
[ 7, 6, 5 ]
]
题目难度:中等
分析:
和前面的54.螺旋矩阵I
同样的道理,还是模拟路径,首先绘制出一个n*n
的矩阵,然后顺时针
按照从左到右
,从上到下
,从右到左
,从下到上
的方向依次去走
,然后把每次应该填入的数字填入即可。代码如下:
java:
class Solution {
public int[][] generateMatrix(int n) {
// 定义一个二维数组
int[][] res = new int[n][n];
// 数字从1开始,最大值也就是方格数
int currentNum = 1, maxNum = n * n;