leetcode: 268. missing number

题目描述

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

Example 1:

1
2
Input: [3,0,1]
Output: 2

Example 2:

1
2
Input: [9,6,4,2,3,5,7,0,1]
Output: 8

通过数组的size可以求的如果没有少数字的时候的应有的数字和,然后用应有的减去实际的就可以得到缺少了点数字。

代码实现

1
2
3
4
5
6
7
8
9
10
class  {
public:
int missingNumber(vector<int>& nums) {
int sum = 0;
for (int i: nums) {
sum += i;
}
return (nums.size()+1)*nums.size()/2-sum;
}
};