Missing Number
Description
Input: [3,0,1]
Output: 2Input: [9,6,4,2,3,5,7,0,1]
Output: 8Solutions
My solution
class Solution {
public:
int missingNumber(vector<int>& nums) {
int n = nums.size();
bool zero = false;
for(int num : nums){
int val = num < 0 ? num + n + 1 : num;
if(val == 0)
zero = true;
else{
int idx = val - 1;
nums[idx] -= (n + 1);
}
}
if(!zero) return 0;
int i;
for(i = 0; i < n; ++i){
if(nums[i] >= 0)
break;
}
return i + 1;
}
};Optimal solution
Last updated