leetcode刷题日记-缺失的第一个正数(困难)

题目描述

在这里插入图片描述

解题思路

题目的意思十分容易理解,但是确实思考出来这种解题的方法还是比较难的。首先能想到的点就是[1,N]这个范围,因为只有N个数字,最小的数字只能在这个区间和N+1两种可能。但是有时间复杂度的限制,我们该怎么找。我们可以另外申请一块存储空间N+2大小,将出现在[1,N]这个区间的数字进行计数,然后从头开始遍历新开辟的存储空间,从1开始到N+1这个下标结束。中途如果出现计数的个数为0,那么直接返回下标即为最小的数目。

代码实现

class Solution:
    def firstMissingPositive(self, nums: List[int]) -> int:
        
        ##感觉这个思路十分新
        n=len(nums)
        tempcount=[]
        for i in range(n+2):
            tempcount.append(0)
        for i in range(n):
            if nums[i]>0 and nums[i]<=n:
                tempcount[nums[i]]+=1
        for i in range(1,n+2):
            if tempcount[i]==0:
                return i

相关推荐

  1. 第一正数 - LeetCode 17

    2024-03-30 06:02:03       40 阅读
  2. Leetcode 41. 第一正数

    2024-03-30 06:02:03       41 阅读
  3. leetcode_41.第一正数

    2024-03-30 06:02:03       30 阅读
  4. [leetcode]first-missing-positive 第一正数

    2024-03-30 06:02:03       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-30 06:02:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-30 06:02:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-30 06:02:03       82 阅读
  4. Python语言-面向对象

    2024-03-30 06:02:03       91 阅读

热门阅读

  1. 2023年欧亚地区网络安全态势综述

    2024-03-30 06:02:03       31 阅读
  2. IDEA:找不到String类、主类

    2024-03-30 06:02:03       35 阅读
  3. IDEA 打包jar

    2024-03-30 06:02:03       43 阅读
  4. idea常用的快捷键总结:

    2024-03-30 06:02:03       30 阅读
  5. ReactNative实现图片上传功能(兼容安卓和ios)

    2024-03-30 06:02:03       37 阅读
  6. 基于卷积神经网络的物体检测技术

    2024-03-30 06:02:03       37 阅读
  7. 如何利用ChatGPT提升学术论文写作效率

    2024-03-30 06:02:03       39 阅读
  8. 零基础机器学习(6)之岭回归与套索回归(正则化)

    2024-03-30 06:02:03       31 阅读
  9. gdb | 实战调试死循环

    2024-03-30 06:02:03       35 阅读
  10. 山峰三元组问题的O(n)解法

    2024-03-30 06:02:03       40 阅读