#include <stdio.h> int find_duplicate(int arr[], int n) { // Your logic here // Approach 1 /* for(int i = 0; i < n; i++){ for(int j = i+1; j < n; j++){ if(arr[i] == arr[j]) return arr[i]; } } return -1; */ // Approach 2 int xor_arr = 0, xor_range = 0; for(int i = 0; i < n; i++){ xor_arr ^= arr[i]; } for(int i = 0; i < n; i++){ xor_range ^= i; } return xor_arr ^ xor_range; } 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