给出一个包含 0 … N 中 N 个数的序列,找出0 … N 中没有出现在序列中的那个数。
样例
样例 1:
输入:[0,1,3]
输出:2
样例 2:
输入:[1,2,3]
输出:0
挑战
在数组上原地完成,使用O(1)的额外空间和O(N)的时间。
思路:计算出0、1、2、·····、nums.size()的和,在依次减去nums数组,剩下的数就是答案
class Solution {
public:
/**
* @param nums: An array of integers
* @return: An integer
*/
int findMissing(vector<int> &nums) {
// write your code here
int len=nums.size();
int res=len*(len+1)/2;
for (int i = 0; i < nums.size(); i++) {
/* code */
res-=nums[i];
}
return res;
}
};