LeetCode-268. Missing Number (Java)

来源:互联网 发布:sql经典语句 编辑:程序博客网 时间:2024/05/22 17:20

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?

----------------------------------------------------------------------------------------------------------------

思路

按照我的思路,先对数组进行了排序,然后对nums长度进行判断,然后对nums的元素进行判断,然后循环。。。。。。

最后耗时惨不忍睹。最后参考一下其他已提交的代码。

代码

public class Solution {    public int missingNumber(int[] nums) {        int sum = 0;        int n = nums.length ;        int i = 0;        while(i < nums.length)        {            sum += nums[i];            i++;        }        return (1+n)*n/2 - sum;    }}

这个对数组进行求和,然后与等差公式计算的和求差,计算结果即missing number。

原创粉丝点击