我剛剛完成了一項可信性測試,僅獲得了81%的分數。當一個'大排列'對它進行測試時,我的代碼失敗了。不適用於大排列的代碼
我不知道爲什麼這會失敗,因爲spec說所有的值都是整數,我的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;
}
}
「大」是否大於2^31? – SLaks
嘗試把int計數器=(A.length -1),cuz每次發生這個循環時,這個數字再次計算 – vlatkozelka
這個問題似乎是題外話題,因爲它是關於審查代碼。也許http://codereview.stackexchange.com/會是一個更好的地方。 – Chris