Given an array of integers, every element appears
twice except for one. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
class Solution {
public:
int singleNumber(int A[], int n) {
map<int, int> m;
map<int, int> ::iterator it;
for(int i = 0; i < n; i++)
m[A[i]]++;
for(it = m.begin(); it != m.end(); it++)
{
if(it->second == 1)
return it->first;
}
}
};