首页 > 其他 > 详细

缺失的第一个正数

时间:2020-07-21 15:28:47      阅读:54      评论:0      收藏:0      [点我收藏+]

 

给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。

function firstMissingPositive(nums) {
    if(nums.length == 0){
        return 1
    }
    if(nums.length == 1){
        if(nums[0] == 1 ){
            return 2
        }
        return 1
    }
    nums = nums.sort((a,b)=>a-b)
    if(nums.length == 2){
        if(nums[0] < 1){
            if(nums[1] < 1 || nums[1] > 1){
                return 1
            }
            return 2
        }
        if(nums[0] == 1){
            if((nums[1] - nums[0]) == 1 ){
                return 3
            }
            return 2
        }
        if(nums[0] > 1){
            return 1
        }
        return nums[nums.length-1] + 1
    }
    if(nums[0] > 1 || nums[nums.length-1] < 1){
        return 1
    }
    for(let i = 0;i < nums.length - 1;i++){
        let item = nums[i],nextItem = nums[i+1]
        if(nextItem - item >= 2){
            if(item + 1 <= 0){
                if(nextItem > 1){
                    return 1
                }
                continue
            }
            return item + 1
        }
    }
    return nums[nums.length-1] + 1
}

Leecode提交通过

缺失的第一个正数

原文:https://www.cnblogs.com/zhenjianyu/p/13354419.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!