package Day3;
public class SpiralMatrix {
public static void main(String[] args) {
int[][] spiral_array = Spiral_array(3);
for (int i = 0; i < spiral_array.length; i++) {
for (int j = 0; j < spiral_array.length; j++) {
System.out.printf("%d ", spiral_array[i][j]);
}
System.out.println();
} }
public static int[][] Spiral_array(int n) {
int[][] result = new int[n][n];
if (n < 1) {
return result;
}
int top = 0, right = n - 1, buttom = n - 1, left = 0;
int i = 1;
int size = n * n;
while (size > 0) {
// 从左到右遍历
for (int col = left; col <= right; col++) {
result[top][col] = i;
size--;
i++;
}
top++;
// 从顶到底遍历
for (int row = top; row <= buttom; row++) {
result[row][right] = i;
size--;
i++;
}
right--;
// 从右到左遍历
for (int row = right; row >= left; row--) {
result[buttom][row] = i;
size--;
i++;
}
buttom--;
// 从底部到顶部
for (int col = buttom; col >= top; col--) {
result[col][left] = i;
size--;
i++;
}
left++;
}
return result;
}
}