question:
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
.
解题思路: the missing number is where nums[i] != i
int missingNumber(vector<int>& nums) {
int result = 0;
if(nums.size() == 1 && nums[0] == 1)
return 0;
if(nums.size() == 1)
return nums[0] + 1;
sort(nums.begin(), nums.end());
for(int i = 0; i < nums.size(); i++)
{
if(nums[i] != i)
{
result = i;
return result;
}
}
result = nums[nums.size() - 1] + 1;
return result;
}