[leetcode][math] Missing Number

来源:互联网 发布:淘宝网广场舞 编辑:程序博客网 时间:2024/05/17 06:15

题目:

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?


class Solution {public:    int missingNumber(vector<int>& nums) {        if(nums.empty()) return -1;        int n = nums.size();//n是最大数        long long sum = (n * (n + 1))>>1;//<span style="color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 30px;">0+1+...+INT_MAX < long long所能表示的最大数,所有sum不会溢出</span>        for(int i = 0; i < n; ++i){            sum -= nums[i];        }        return sum;    }};


0 0
原创粉丝点击