Leecode_Missing number

来源:互联网 发布:c语言程序的基本单位 编辑:程序博客网 时间:2024/05/22 15:16

The Problem:

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?

My wrong solution:  Dichotomy

Right Solution: the sum of size+1 numbers - the sum of the array = the missing number


public class Solution {
    public int missingNumber(int[] nums) {
        int size = nums.length;
        if(size < 1)
            return 0;
        else
        {
            int n1 = (size+1)*size/2;
            int n2 = 0;
            for(int i = 0; i<size; i++)
                n2 = n2+nums[i];
            return n1-n2;
        }
    }
}



0 0