给定一个正整数 n,生成一个包含 1 到 n^2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。
示例:
输入: 3
输出:
[
[ 1, 2, 3 ],
[ 8, 9, 4 ],
[ 7, 6, 5 ]
]
public class test0319 {
public static void main(String[] args) {
Solution S = new Solution();
int n = 4;
int[][] a = S.generateMatrix(n);
for(int i = 0; i < 4;i++) {
for(int j = 0; j < 4; j++) {
System.out.print(a[i][j]+ "\t");
}
System.out.println();
}
}
}
class Solution {
public int[][] generateMatrix(int n) {
int[][] a = new int[n][n];
int count = 1;
int i = 0;
while(count <= n*n){
//关键就是要把行列下标以及行列长度的关系搞清楚
for( int j = i; j < n - i; j++){
//上边
a[i][j] = count;
count ++;
}
for( int j = i + 1; j < n - i; j++ ){
//右边
a[j][n - i -1] = count ;
count ++;
}

该博客介绍如何根据给定的正整数n,创建一个包含1到n^2元素的矩阵,并以顺时针螺旋顺序进行排列。例如,输入3将生成如下矩阵:[[1, 2, 3], [8, 9, 4], [7, 6, 5]]。"
70215545,5637696,VTK测量:角度、距离与样条Widget详解,"['VTK', '图形渲染', '交互设计', '测量工具', '曲线长度']
最低0.47元/天 解锁文章
1040

被折叠的 条评论
为什么被折叠?



