136. Single Number
https://leetcode.com/problems/single-number
Problem
Given a non-empty 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?
Example 1:
Input: [2,2,1]
Output: 1Example 2:
Input: [4,1,2,1,2]
Output: 4Solution
1. Space using Hash Map
class Solution {
public:
int singleNumber(vector<int>& nums) {
unordered_map<int, int> count_of;
for (const auto &n : nums) ++count_of[n];
for (const auto &pair : count_of) {
if (pair.second == 1) return pair.first;
}
return -1;
}
};2. Space using XOR bitwise
#hash
#bitwise
Last updated
Was this helpful?