我刚刚完成了一项鳕鱼测试,只取得了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;
}
}
答案 0 :(得分:2)
它应该是(int i = 0; i