LeetCode Missing Number

Description

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?

The original problem is here.

The original code is here.

My Solution

I solve this problem in C++, as below:

/*
*Missing Number 
*Author: shuaijiang
*Email: zhaoshuaijiang8@gmail.com
*/
#include<iostream>
#include<vector>
#include<stdlib.h>
using namespace std;

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

Note

To solve the problem, first comput the sum of the array 0…n with the missing number. Then add all the number to total, we can get the missing number by sum-total.


LeetCode Missing Number
http://zhaoshuaijiang.com/2015/08/26/leetcode_missing_number/
作者
shuaijiang
发布于
2015年8月26日
许可协议