leetCode刷题记录39_268_Missing Number

/*****************************************************问题描述*************************************************
Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one that is missing from the array.
Example 1:
    Input: [3,0,1]
    Output: 2
Example 2:
    Input: [9,6,4,2,3,5,7,0,1]
    Output: 8
Note:
Your algorithm should run in linear runtime complexity. Could you implement it using only constant extra space complexity?
寻找数组中缺失的那个整数.
/*****************************************************我的解答*************************************************
/**
 * @param {number[]} nums
 * @return {number}
 */
var missingNumber = function(nums) {
    nums.sort(function(a,b){return a - b;});
    console.log(nums);
    for(var index = 0; index < nums.length; index++)
    {
        if(index != nums[index])
        {
            return index;
        }    
    }    
    return index;
};
//也可以这样,会快很多
var missingNumber = function(nums) {
    var expected = (1 + nums.length) * nums.length / 2;
    var sum = 0;
    for(var index = 0; index < nums.length; index++)
    {
        sum += nums[index];
    }    
    return expected - sum;        
};

猜你喜欢

转载自blog.csdn.net/gunsmoke/article/details/87939146