Missing Number - LetcCode 268

来源:互联网 发布:淘宝上买狗狗靠谱吗 编辑:程序博客网 时间:2024/06/10 23:41

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?

Credits:
Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.

Hide Tags
 Array Math Bit Manipulation
Hide Similar Problems
 (H) First Missing Positive (M) Single Number (H) Find the Duplicate Number



分析:n个不同的整数,取值范围是0到n之间,要找出缺失的那个整数。
首先可以计算出0到n的和,然后数组的和也是可以求出来的,因此,两者相减就是缺失的那个数。

class Solution {public:    int missingNumber(vector<int>& nums) {        int n = nums.size();int sum = (n+1)*n/2;int s = 0;for(int i = 0; i != n; i++){s += nums[i];}return sum - s;    }};


0 0