网站设置密码,建设高校图书馆网站的意义,盐城网站开发招代理,做网站是要云空间吗给你一个正整数 n #xff0c;生成一个包含 1 到 n2 所有元素#xff0c;且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。
示例 1#xff1a;
输入#xff1a;n 3 输出#xff1a;[[1,2,3],[8,9,4],[7,6,5]]
解题思路
按层进行数字的填充#xff0c;每一层…给你一个正整数 n 生成一个包含 1 到 n2 所有元素且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。
示例 1
输入n 3 输出[[1,2,3],[8,9,4],[7,6,5]]
解题思路
按层进行数字的填充每一层都按四条边的位置依次填充
代码
class Solution {int z1;public int[][] generateMatrix(int n) {int[][] matrix new int[n][n];int rmatrix.length,cmatrix.length,x0,y0;put(r,c,x,y,matrix);return matrix;}public void put (int r,int c,int x,int y,int[][] matrix){if(r0||c0) return;//矩阵有偶数层if(r1)//矩阵有奇数层最后一层只有一个元素{ matrix[y][x]z;return;}for (int ix;ixc;i)matrix[y][i]z;for (int iy1;iyr-1;i)matrix[i][xc-1]z;for (int ixc-1;ix;i--)matrix[yr-1][i]z;for (int iyr-2;iy;i--)matrix[i][x]z;put(r-2,c-2,x1,y1,matrix);}
}