static变量定义的值大小没有任何操作的情况下直接变了
class Solution {
static int num = 1;
static int i = 0, j = -1;
public int[][] generateMatrix(int n) {
System.out.println(num);// 直接输出10
int[][] t = new int[n][n];
int right = n;
int down = n - 1;
System.out.println(num);// 直接输出10
while (true) {
if (num != n * n + 1) {
System.out.println(num);// 直接输出10
j += 1;
right(t, right--);
}
if (num != n * n + 1) {
i += 1;
down(t, down--);
}
if (num != n * n + 1) {
j -= 1;
left(t, right--);
}
if (num != n * n + 1) {
i -= 1;
up(t, down--);
}
if (num == n * n + 1) {
break;
}
}
return t;
}
public void right(int[][] t, int count) {
int k = j;
System.out.println(num);
for (; k < j + count; ++k) {
t[i][k] = num++;
}
j = k - 1;
}
public void down(int[][] t, int count) {
int k = i;
for (; k < i + count; ++k) {
t[k][j] = num++;
}
i = k - 1;
}
public void left(int[][] t, int count) {
int k = j;
for (; k >= j - count + 1; --k) {
t[i][k] = num++;
}
j = k + 1;
}
public void up(int[][] t, int count) {
int k = i;
for (; k >= i - count + 1; --k) {
t[k][j] = num++;
}
i = k + 1;
}
}
是leetcode编译器的锅还是什么问题,在自己的idea运行没有任何问题