#include <stdio.h> /* int find_duplicate(int arr[], int n) { int check_value =0; int output; for(int i = 0; i<n;i++){ check_value = arr[i]; for(int j = 0 ; j <n ;j++){ if( i != j){ if(check_value == arr[j]){ output = arr[j]; } } } } return output; } */ int find_duplicate(int arr[], int n) { bool seen[100000] = {0}; // size depends on input range for(int i=0;i<n;i++){ if(seen[arr[i]]) return arr[i]; // first duplicate seen[arr[i]] = true; } return -1; // no duplicate } int main() { int n; scanf("%d", &n); int arr[100]; for (int i = 0; i < n; i++) scanf("%d", &arr[i]); int result = find_duplicate(arr, n); printf("%d", result); return 0; }
Test Cases
Test Results
Input
5 0 1 2 3 2
Expected Output
2