zoukankan      html  css  js  c++  java
  • 每日leetcode-数组-41. 缺失的第一个正数

    分类:数组-统计数组中的元素

    题目描述:

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

    进阶:你可以实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案吗?

    解题思路:

    先找到数组中最大的数,如果最大的数是负数的话,设置最大的数为0,然后遍历1到最大值+2的正数有序数组,如果这个数不在数组中,则返回,因为range按由大到小的顺序排列,所以第一个不在数组中的数就是所求的数

    class Solution:
        def firstMissingPositive(self, nums: List[int]) -> int:
            maxm = max(nums)
            maxm = max(maxm,0)
            for i in range (1,maxm+2):
                if i not in nums:
                    return i
  • 相关阅读:
    【leetcode】对称二叉树
    【leetcode】判断回文数
    053686
    053685
    053684
    053683
    053682
    053681
    053680
    053477
  • 原文地址:https://www.cnblogs.com/LLLLgR/p/14727763.html
Copyright © 2011-2022 走看看