HackerRank Mininum差异RunTimeError

问题描述 投票:-3回答:1

我的代码抛出运行时错误,任何人都可以解释原因吗?我的解决方案包括向数组中添加ji之间的差异,然后找到两者中的最小值,只返回它。但由于某种原因,它给我一个超时错误。问题是这个问题:

我们将两个数组值之间的距离定义为两个值之间的索引数。给定A找到阵列中任何一对相等元素之间的最小距离。如果不存在这样的值,请打印-1最小差异由指数j和指数i之间的差值计算得出

 static int minimumDistances(int[] a) {

    int[] difference = new int[a.length];
    int lowest = 0;
    boolean pairFound = false;

    for(int i = 0; i < a.length; i++) {

        for(int j = i + 1; j < a.length; j++) {

            for(int l = 0; l < difference.length; l++) {

                if(a[i] == a[j]) {

                    difference[l] = j - i;
                    pairFound = true;

                } else if(pairFound == false) {

                    lowest = -1;

                }

            }

        }

    }

    if(pairFound == true) {

        lowest = difference[0];

        for(int i = 0; i < difference.length; i++) {

            if(difference[i] < lowest) {

                lowest = difference[i];

            }

        }

    }

    return lowest;

}
java
1个回答
0
投票

尝试一下,检查一下是否有效:

int[] difference = new int[a.length];
© www.soinside.com 2019 - 2024. All rights reserved.