질문 : 동일한 숫자가 포함 된 두 개의 알 수없는 정수 목록이 있다고 가정 해 보겠습니다. 그러나 목록 중 하나에 숫자가 누락되었습니다. 잃어버린 숫자를 찾는 가장 효과적인 방법은 무엇입니까?두 목록에서 누락 된 숫자 찾기
내 접근 :이 같은 루프 중첩 적이 :
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