6개의 다른 숫자가 있는 목록이 있다고 가정합니다. 하나의 숫자만 다섯 번 반복됩니다. 따라서 배열에는 총 10개의 요소가 있습니다. 두 가지 비교만 사용하여 중복 숫자를 찾습니다. 목록이 [1, 2, 3, 4, 4, 4, 4, 4, 5, 6]과 같으면 출력은 4입니다.
숫자가 10개뿐이므로 모든 유형의 중복 숫자에 대해 숫자 범위가 인덱스 3에서 5까지 배치됩니다. 이 인덱스를 확인하여 결과를 찾을 수 있습니다.
예시
#include<iostream>
using namespace std;
int getDuplicate(int array[]) {
if (array[3] == array[4])
return array[3];
else if (array[4] == array[5])
return array[4];
else
return array[5];
}
int main() {
int a[] = {1, 2, 3, 4, 4, 4, 4, 4, 5, 6};
cout << "Duplicate element: " << getDuplicate(a);
} 출력
Duplicate element: 4