-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path136.singleNumber.cpp
65 lines (53 loc) · 1.21 KB
/
136.singleNumber.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/*
* 136. Single Number
Easy
Topics
Companies
Hint
Given a non-empty array of integers nums, every element appears twice except for
one. Find that single one.
You must implement a solution with a linear runtime complexity and use only
constant extra space.
Example 1:
Input: nums = [2,2,1]
Output: 1
Example 2:
Input: nums = [4,1,2,1,2]
Output: 4
Example 3:
Input: nums = [1]
Output: 1
Constraints:
1 <= nums.length <= 3 * 104
-3 * 104 <= nums[i] <= 3 * 104
Each element in the array appears twice except for one element which appears
only once. Accepted 3M Submissions 4M Acceptance Rate 73.7% Topics Array Bit
Manipulation Companies Hint 1 Think about the XOR (^) operator's property.
Similar Questions
Single Number II
Medium
Single Number III
Medium
Missing Number
Easy
Find the Duplicate Number
Medium
Find the Difference
Easy
Find the XOR of Numbers Which Appear Twice
Easy
*/
#include <vector>
using namespace std;
class Solution {
public:
int singleNumber(vector<int> &nums) {
// XOR all the elements in the array (XOR of two same numbers is 0)
// different will get 1
int result = 0; // n XOR 0 = n
for (int i = 0; i < nums.size(); i++) {
result ^= nums[i];
}
return result;
}
};