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
相关推荐
alphaTao1 小时前
LeetCode 每日一题 2026/7/20-2026/7/26
算法·leetcode
圣保罗的大教堂2 小时前
leetcode 3514. 不同 XOR 三元组的数目 II 中等
leetcode
青山木5 小时前
Hot 100 ---腐烂的橘子
java·数据结构·后端·算法·leetcode·广度优先
xqqxqxxq6 小时前
LeetCode Hot100 双指针专项题解笔记
笔记·算法·leetcode
闪电悠米6 小时前
力扣hot100-54.螺旋矩阵-模拟边界控制详解
算法·leetcode·矩阵
To_OC17 小时前
LC 51 N 皇后:我以为难的是回溯,结果栽在了对角线下标
javascript·算法·leetcode
闪电悠米1 天前
力扣hot100-73.矩阵置零-标记数组详解
算法·leetcode·矩阵
过期动态1 天前
【LeetCode 热题 100】找到字符串中所有字母异位词
java·数据结构·算法·leetcode·职场和发展·rabbitmq
Adios7942 天前
设置交集大小至少为2
数据结构·算法·leetcode
程序猿乐锅2 天前
【数据结构与算法 | 第六篇】力扣1109,1094差分数组
java·算法·leetcode