代码不适用于大型排列

时间:2014-12-30 00:00:18

标签: java

我刚刚完成了一项鳕鱼测试,只取得了81%的成绩。当针对它进行“大排列”测试时,我的代码失败了。

我不知道为什么会失败,因为规范说所有值都是整数,而我的for循环只使用int值。如果有人能查看我的代码并告诉我为什么它为大量排列提供-1值,我将非常感激: -

https://codility.com/demo/results/demo4G8CJS-9YN/

class Solution {
    public int solution(int X, int[] A) {
        // write your code in Java SE 8

                int target = X;
        int[] path = new int[X];


       for(int i = 0; i < A.length-1; i++) {
           if(A[i] != path[A[i]-1]) {
           path[(A[i]-1)] = A[i];
           target--;
           }

           if(target==0) {
               return i;
           }

       }
          return -1;
    }
}

1 个答案:

答案 0 :(得分:2)

它应该是(int i = 0; i