leetcode hot100 41.第一个缺失的正数 hard

暴力解法

nums.sort():对数组进行排序,时间复杂度为 O(n log n)

smallest_missing = 1:假设最小缺失的正整数是 1

时间复杂度:

排序的时间复杂度是 O(n log n)。

遍历数组的时间复杂度是 O(n)。

总体时间复杂度是 O(n log n),这是由排序操作主导的

空间复杂度:

O(1),因为我们只使用常数空间

python 复制代码
class Solution:
    def firstMissingPositive(self, nums: List[int]) -> int:
        nums.sort()  # 对数组进行排序
        smallest_missing = 1  # 假设最小缺失的正整数是 1

        for num in nums:
            if num == smallest_missing:  # 如果当前数字等于 smallest_missing,说明这个数字存在
                smallest_missing += 1  # 更新 smallest_missing
            elif num > smallest_missing:  # 如果当前数字大于 smallest_missing,说明最小缺失数就是 smallest_missing
                break
        
        return smallest_missing
相关推荐
琢磨先生David2 天前
Day1:基础入门·两数之和(LeetCode 1)
数据结构·算法·leetcode
超级大福宝2 天前
N皇后问题:经典回溯算法的一些分析
数据结构·c++·算法·leetcode
Charlie_lll2 天前
力扣解题-88. 合并两个有序数组
后端·算法·leetcode
菜鸡儿齐2 天前
leetcode-最小栈
java·算法·leetcode
Frostnova丶2 天前
LeetCode 1356. 根据数字二进制下1的数目排序
数据结构·算法·leetcode
im_AMBER3 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
样例过了就是过了3 天前
LeetCode热题100 环形链表 II
数据结构·算法·leetcode·链表
tyb3333333 天前
leetcode:吃苹果和队列
算法·leetcode·职场和发展
踩坑记录3 天前
leetcode hot100 74. 搜索二维矩阵 二分查找 medium
leetcode
TracyCoder1233 天前
LeetCode Hot100(60/100)——55. 跳跃游戏
算法·leetcode