Given an array ‘ARR’ of ‘N’ integers, where all the elements occur an even number of times and only one number occurs an odd number of times.
Find and return the number which occurs an odd number of times.
'N' = 5, 'ARR' = [1, 2, 3, 2, 3]
Output: 1
Except for number 1, all numbers occur an even number of times.
The first line contains a single integer, 'N', representing the size of the array.
The second line contains 'N' space-separated integers.
Output format :
The only line contains a single integer representing the number occurring odd number of times.
Note :
You don't need to print anything. It has already been taken care of. Just implement the given function.
9
4 5 6 5 6 9 9 4 4
4
5, 6, and 9 occur an even number of times, and only 4 occur odd number of times.
5
1 1 1 1 1
1
1 <= 'N' <= 10^5
1 <= 'ARR[i]' <= 10^5
Time Limit: 1 sec
Can we try brute force?
Approach:
We will run two nested loops and count the occurrence of every element.
If at any moment, we are getting the count as odd, we will just print that element.
Algorithm :
O(N^2), Where ‘N’ size of the array.
As we are checking for each of the number in the array and for each check, we are again iterating the whole array to find the frequency, the time complexity will be O(N^2)
O(1).
We are only using a single variable to store count, the space complexity will be O(1).