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

python-leetcode-缺失的第一个正数

41. 缺失的第一个正数 - 力扣(LeetCode)

class Solution:
    def firstMissingPositive(self, nums: List[int]) -> int:
        n = len(nums)
    
        # 1. 原地哈希:把 nums[i] 放到 nums[i] - 1 的位置
        for i in range(n):
            while 1 <= nums[i] <= n and nums[i] != nums[nums[i] - 1]:
                nums[nums[i] - 1], nums[i] = nums[i], nums[nums[i] - 1]  # 交换到正确位置

        # 2. 找到第一个 nums[i] != i + 1 的位置
        for i in range(n):
            if nums[i] != i + 1:
                return i + 1

        # 3. 若数组完整,返回 n + 1
        return n + 1


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

相关文章:

  • 网络安全-php安全知识点
  • 产品更新 | 数据集成ETLCloud V3.9 社区版发布,新增及优化组件近20项
  • Linux NFS
  • c++贪心系列
  • 侯捷 C++ 课程学习笔记:C++ 基础与演化
  • Vite vs Webpack
  • 华为云deepseek大模型平台:deepseek满血版
  • 科技助力汽车保险迎接行业大变革
  • Android Coil 3 ImageLoader MemoryCache根据Key复用内存缓存,Kotlin
  • 华为路由器—静态路由
  • webmin配置终端显示样式,模仿UbuntuDesktop终端
  • CentOS 7配置YOLOv8环境指南:无显卡版教程 - 幽络源
  • DeepSeek赋能乡村治理:九大核心模块,构建数字化知识中枢
  • 找不到依赖项 <…> (Maven)
  • JavaWeb全链路学习:3、Vue
  • Hadoop初体验
  • 全方位的 Docker 容器安全防护实践
  • 苹果确认iOS 18.4四月初推出:Apple Intelligence将迎来中文支持
  • Redis如何解决热Key问题
  • ollama修改监听ip: 0.0.0.0