LeetCode268 Missing Number


描述

Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one that is missing from the array.

Note:
Your algorithm should run in linear runtime complexity. Could you implement it using only constant extra space complexity?

样例

Given nums = [0, 1, 3] return 2.

思路

从$[0, n]$ 中给出 $n$ 个不同的数,问哪一个数不在里面。

之和 再扣掉 数组元素之和,即得到答案。

代码

1
2
3
4
5
6
7
8
class Solution {
public:
int missingNumber(vector<int>& nums) {
int n = nums.size(), ans = n * (n + 1) / 2;
for (int& x: nums) ans -= x;
return ans;
}
};