-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmissingNumber.cpp
More file actions
32 lines (29 loc) · 838 Bytes
/
missingNumber.cpp
File metadata and controls
32 lines (29 loc) · 838 Bytes
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
/*Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one that is missing from the array.
For example,
Given nums = [0, 1, 3] return 2.
Note:
Your algorithm should run in linear runtime complexity. Could you implement it using only constant extra space complexity?*/
//my Solution
class Solution {
public:
int missingNumber(vector<int>& nums) {
unordered_map<int,int> umii;
int n=nums.size();
for(int i=0;i!=n;i++)
umii[nums[i]]++;
for(int i=0;i!=n+1;i++)
if(!umii[i])
return i;
}
};
//better Solution
class Solution {
public:
int missingNumber(vector<int>& nums) {
int size=nums.size();
int result=size;
for(int i=0;i!=size;i++)
result=result^nums[i]^i;
return result;
}
};