首页 > 其他 > 详细

缺失的第一个正整数

时间:2020-11-01 09:54:51      阅读:28      评论:0      收藏:0      [点我收藏+]

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

 

示例 1:

输入: [1,2,0]
输出: 3
示例 2:

输入: [3,4,-1,1]
输出: 2
示例 3:

输入: [7,8,9,11,12]
输出: 1
 

提示:

你的算法的时间复杂度应为O(n),并且只能使用常数级别的额外空间

package leetcode;

import java.util.Arrays;

public class FirstMissShuSolution {
    int firstMissShu(int[] nums){
        if(nums == null){
            return 1;
        }
        Arrays.sort(nums);

        int compare = 0 ;
        for(int i=0 ;i < nums.length; i++){
            if(nums[i] <= 0 ){
                continue;
            }
            if(i > 0 && nums[i-1] == nums[i]){
                continue;
            }
            compare++;
            if(compare < nums[i]){
                return  compare;
            }
        }
        return compare+1;
    }
    public static void main(String[] args){
        int[] nums={0,-1,-2,2,3,4,5,6,78};
        int n = new FirstMissShuSolution().firstMissShu(nums);
        System.out.println(n);
    }
}

 

缺失的第一个正整数

原文:https://www.cnblogs.com/goodtest2018/p/13908386.html

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