栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

缺失的第一个正整数

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

缺失的第一个正整数

描述:
给定一个无重复元素的整数数组nums,请你找出其中没有出现的最小的正整数
进阶:你能用O(n)时间复杂度并且O(1)的空间复杂度的方法实现吗
示例1
输入:[1,0,2]
返回值:3
示例2
输入:[-2,3,4,1,5]
返回值:2
示例3
输入:[4,5,6,8,9]
返回值:1

public class T11 {

    public static void main(String args[]){
        int[] nums = {3,2,1};
        System.out.println(minNumberDisappeared(nums));
        System.out.println(minNumberDisappeared2(nums));
    }

    public static int minNumberDisappeared (int[] nums) {
        // 时间复杂度O(n),空间复杂度O(n)
        if(nums==null)return 1;
        int len = nums.length;
        // arr用来存放出现的1~len之间出现的正整数,0表示不出现,1表示出现
        int[] arr = new int[len];
        for(int i =0; i0 && nums[i]<=len){
                arr[nums[i]-1] = 1;
            }
        }
        for(int i=0;i0){
                // 大于0时表示找到了未出现正整数
                return i+1;
            }
        }
        // 当1~len都出现时,应该返回len+1
        return len+1;

    }

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/298450.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号