[leetcode]268. Missing Number -- JavaScript 代码

    xiaoxiao2025-08-09  8

    /** * @param {number[]} nums * @return {number} */ var missingNumber = function(nums) { var len = nums.length; var sum1 = 0; var sum2 = 0; for(var i=0;i<len;i++){ sum1 += i; sum2 += nums[i]; } if(sum1==sum2){ return len; }else{ return len - (sum2-sum1); } };

    这道题要求的是,给出一串数字,要求返回这串数字中,缺少了哪个? 数字是从0开始的:比如给出数组为:0、1、3,那就返回2。但是顺序不定。比如给出3、0、1也需要我们返回2。 这道题的思路是:将给定数组内所有数字求和,然后和正确不缺的数字串做比较: 1、如果求和结果和正确数字串之和相等,那么就返回下一个数字:也就是说,如果给定了0123,那么就返回4。 2、如果不等,那就说明是缺少了一个中间数。比如给定的是:013456,而正常的排序数字应该是012345。那么我们可以将给定的数组看成是:016345。通过求和之后,和正常数组对比,多出来的那部分就可以判定是那个数字丢了。

    转载请注明原文地址: https://ju.6miu.com/read-1301559.html
    最新回复(0)