我給了一個雙打數組,所有數字除了一個都相等。我的任務是找到唯一的號碼。我的代碼返回正確的輸出,現在我想知道如何進一步優化它。如何進一步優化我的代碼?
這是我的代碼:
public static double findUnique(double array[]) {
double unique = 0;
double common = 0;
for(int i=0; i<array.length; i++) {
for(int j=i+1; j<array.length; j++) {
if(array[i]==array[j]) {
common = array[i];
}
}
if(common!=array[i]) {
unique = array[i];
}
}
return unique;
}
我能想到的首先是存儲數組的長度的唯一的事情,但有些測試後實際所花的時間。謝謝。
好吧,現在我覺得沒有測試這個愚蠢。我在'if'語句中使用了'break',這大大減少了所需的時間。儘管如此,我仍然願意回答。 – Helquin
真的很容易。看看'array [0]','array [1]','array [2]'。如果它們中的任何一個與其他的不同,則返回唯一的一個。如果全部相同,則在'array [3 ... N-1]'中搜索**不等於'array [0]'的一個元素。 –
@IwillnotexistIdonotexist謝謝你的建議,我會根據這個做一個新的方法。 – Helquin