have_to_be 2024-05-14 17:25 采纳率: 59.1%
浏览 8
已结题

static变量定义的值大小没有任何操作的情况下直接变了

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运行没有任何问题

img

img

  • 写回答

3条回答 默认 最新

  • have_to_be 2024-05-14 17:49
    关注

    leetcode测试是一次性测试,即运行后一直输入测试用例,static变量一直叠加,所以在运行一遍后要进行初始化

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月22日
  • 已采纳回答 5月14日
  • 创建了问题 5月14日