問題:可以說我們有兩個包含相同編號的未知整數列表。但是,其中一個列表缺少一個數字。找到缺失號碼最有效的是什麼?查找兩個列表中的缺失編號
我的方法:嵌套的for循環是這樣的:
public int findMissing(int [] list1,int [] list2){
for(int i =0; i < list1.length(); i++){
for(int j=0; j < list2.length(); j++){
if(list1[i] != list2[j] && j == list2.length()-1)
return list2[j];
}
}
return;
說明比較第二列表中的每個項目在第一列表中的每個項目。如果您在循環結束時到達並且第一個列表中缺少第二個列表中的數字,則返回該數字。
讓我知道是否有更好的方法來做到這一點。在運行時間方面更好。
列表的順序是否相同? – ajon
對於小列表,你可以逃避這一點。但是,隨着名單的增長,這個規模會很小。 –
一個問題:數組中的所有元素都是唯一的嗎? – fge