您的位置:首页 > 其它

268. Missing Number

2016-08-30 12:37 162 查看
题目

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
.

Note:

Your algorithm should run in linear runtime complexity. Could you implement it using only constant extra space complexity?
分析
数组中的n个数是乱序排列的,但由于知道是从0到n中取出的n个不同的数,故可以通过等差数列公式计算出0到n的总和,然后遍历数组去减掉数组中元素,剩余的就是缺少的值。

class Solution {
public:
int missingNumber(vector<int>& nums) {
int sum=(1+nums.size())*nums.size()/2;
for(int i=0;i<nums.size();++i)
sum-=nums[i];
return sum;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: