51,397
社区成员




public static void test1(int[] array){
int start=0;
for(int i=1;i<array.length;i++){
if(array[i]-array[i-1]!=1){
System.out.println(Arrays.toString(Arrays.copyOfRange(array, start, i)));
start=i;
}
if(i==array.length-1){
System.out.println(Arrays.toString(Arrays.copyOfRange(array, start, array.length)));
}
}
}
public static void main(String[] args) {
test1(new int[]{28,29,30, 35,36,37,87,88, 101,102,103,104,105,106});
}
/*
[28, 29, 30]
[35, 36, 37]
[87, 88]
[101, 102, 103, 104, 105, 106]
*/
public static void test(int num) {
int[][] array = new int[num][num];
int i = 0, j = 0, k = 1, m = 1;
for(int n = 0; n < num * num; n++){
array[i][j] = n + 1;
if (k % 2 != 0){
if (j + m > num - 1 - k / 4 || j + m < k / 4){
k++;
i += m;
continue;
}
j += m;
}else{
if (i + m > num - 1 - k / 4 || i + m < k / 4){
k++;
m = -m;
j += m;
continue;
}
i += m;
}
}
for(int s = 0; s < num; s++){
System.out.println(Arrays.toString(array[s]));
}
}
/*
[1, 2, 3, 4, 5]
[16, 17, 18, 19, 6]
[15, 24, 25, 20, 7]
[14, 23, 22, 21, 8]
[13, 12, 11, 10, 9]
*/
import java.util.Scanner;
public class SpiralArray {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int n = s.nextInt();
int[][] a = new int[n][n];
s.close();
int len = n - 1;
int start = 0;
for (int i = 0; i <= n / 2; i++) {
for (int j = i; j < len + i; j++) {
a[i][j] = start - i + j + 1;
a[j][n - i - 1] = a[i][j] + len;
a[n - i - 1][n - j - 1] = a[i][j] + len * 2;
a[n - j - 1][i] = a[i][j] + len * 3;
}
start += len * 4;
len -= 2;
}
if(n % 2 != 0){
a[n/2][n/2] = n * n;
}
for (int[] is : a) {
for (int i : is) {
System.out.print(i + " " + "\t");
}
System.out.println();
}
}
}