質問: 同じ数値を含む 2 つの未知の整数リストがあるとします。ただし、リストの 1 つに番号がありません。不足している数を見つけるのに最も効果的なのは何ですか?
私のアプローチ: 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;
説明 は、2 番目のリストの各項目を最初のリストのすべての項目と比較します。ループの最後に到達し、2 番目のリストの番号が最初のリストにない場合は、その番号を返します。
これを行うより良い方法があれば教えてください。実行時間の点で優れています。