0到n-1中缺失的数字
题目
一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0到n-1之内。
在范围0到n-1的n个数字中有且只有一个数字不在该数组中,请找出这个数字。
样例
输入:[0, 1, 2, 4]
输出:3
题解
如果该数字在数组中的和为 n * (n + 1) / 2,那么,该数字在数组中的和减去该数字不在数组中的和即为该数字
class Solution {
public:
int getMissingNumber(vector<int>& nums) {
int n = nums.size(), sum = 0;
for (auto x : nums) sum += x;
return n * (n + 1) / 2 - sum;
}
};