给你一个数n
生成一个包含1-n^2
的螺旋形矩阵
注意事项
样例
n = 3
矩阵为
[
[ 1, 2, 3 ],
[ 8, 9, 4 ],
[ 7, 6, 5 ]
]
public class Solution {
/**
* @param n an integer
* @return a square matrix
*/
public int[][] generateMatrix(int n) {
// Write your code here
int matrix[][]=new int[n][n];
if(n<1){
return matrix;
}
if(n==1){
matrix[0][0]=1;
return matrix;
}
int start_x=0;
int end_x=n-1;
int start_y=0;
int end_y=n-1;
int count=1;
while(end_x-start_x>=1){
for(int i=start_x;i<end_x;i++){
matrix[start_y][i]=count++;
}
for(int j=start_y;j<end_y;j++){
matrix[j][end_x]=count++;
}
for(int i=end_x;i>start_x;i--){
matrix[end_y][i]=count++;
}
for(int j=end_y;j>start_y;j--){
matrix[j][start_x]=count++;
}
start_x++;
end_x--;
start_y++;
end_y--;
}
if(n%2==1){
matrix[n/2][n/2]=n*n;
}
return matrix;
}
}