8. Single Number
Given a non-empty array of integers, every element appears twice except for one. Find that single one.
Example 1:
Input: [2,2,1]
Output: 1
Example 2:
Input: [4,1,2,1,2]
Output: 4Using Hashmap
Caching
class Solution
{
public:
int singleNumber(vector<int> &nums)
{
unordered_map<int, int> m;
int val;
for (int i = 0; i < nums.size(); i++)
{
if (m.find(nums[i]) == m.end())
{
m.insert({nums[i], 1});
}
else
{
m[nums[i]]++;
}
}
for (auto i = m.begin(); i != m.end(); i++)
{
if (i->second == 1)
{
val = i->first;
break;
}
}
return val;
}
};Using XOR
Last updated