当前位置: 首页 > article >正文

leetcode——缺失的第一个整数(java)

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

请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。

示例 1:

输入:nums = [1,2,0]
输出:3
解释:范围 [1,2] 中的数字都在数组中。

示例 2:

输入:nums = [3,4,-1,1]
输出:2
解释:1 在数组中,但 2 没有。

示例 3:

输入:nums = [7,8,9,11,12]
输出:1
解释:最小的正数 1 没有出现。

解题方法:(哈希表)

1.经过对题目的分析,我们可以的出这道题可以使用HashSet来进行解题。

2.创建完HashSet之后,我们开始遍历数组,将元素添加进去。

3.最后从1开始遍历到数组的长度,将最小的整数返回即可。

class Solution {
    public int firstMissingPositive(int[] nums) {
        Set<Integer> map = new HashSet<>();
        int n = nums.length;
        for (int i = 0; i < n; i++) {
            map.add(nums[i]);
        }
        for (int i = 1; i <= n; i++) {
            if (map.contains(i)) {
                continue;
            } else {
                return i;
            }
        }
        return n + 1;
    }
}


http://www.kler.cn/a/519436.html

相关文章:

  • 定时器按键tim_key模版
  • winfrom项目,引用EPPlus.dll实现将DataTable 中的数据保存到Excel文件
  • 2025美赛MCM数学建模A题:《石头台阶的“记忆”:如何用数学揭开历史的足迹》(全网最全思路+模型)
  • 【Matlab高端绘图SCI绘图模板】第05期 绘制高阶折线图
  • Three城市引擎地图插件Geo-3d
  • 在 Vue 3 中,怎么管理环境变量
  • iic、spi以及uart
  • 【贪心算法】在有盾牌的情况下能通过每轮伤害的最小值(亚马逊笔试题)
  • Java设计模式 二十六 工厂模式 + 单例模式
  • [ Spring ] Spring Cloud Alibaba Message Stream Binder for RocketMQ 2025
  • 我谈区域偏心率
  • 【Android】乱七八糟的小结
  • 健身房项目 Uniapp+若依Vue3版搭建!!
  • gtest with ros
  • Qwen2-VL:在任何分辨率下增强视觉语言模型对世界的感知 (大型视觉模型 核心技术 分享)
  • AutoMapper的使用
  • stm8s单片机(三)时钟系统与时钟切换
  • 【工具】CountUp.js
  • 国产编辑器EverEdit - 目录树
  • SSH代理實用指南
  • 【Matlab高端绘图SCI绘图模板】第003期 绘制面积填充图
  • 【AI非常道】二零二五年一月,AI非常道
  • 数据结构——概念与时间空间复杂度
  • 【Java】面试中遇到的两个排序
  • 策略模式 - 策略模式的使用
  • 【Leetcode刷题记录】18.四数之和