【题目描述】
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.
因为这n个数是从0~n中取出的,所以只要将0~n的和即(1+n)*n/2减去这n个数的和就可以了。
【代码】
class Solution {
public:
int missingNumber(vector<int>& nums) {
int n=nums.size();
int target=n*(1+n)/2;
int sum=0;
for(int i=0;i<n;i++){
sum+=nums[i];
}
return target-sum;
}
};
本文介绍了一种寻找从0到n中被数组遗漏的数字的算法。通过计算0到n的总和并从该和中减去数组元素之和,可以找到缺失的数字。实现代码简洁明了。
386

被折叠的 条评论
为什么被折叠?



