Leetcode 448. 找到所有数组中消失的数字

集合秒杀

python 复制代码
class Solution:
    def findDisappearedNumbers(self, nums: List[int]) -> List[int]:
        return list(set(list(range(1, len(nums)+1))) - set(nums))

哈希

哈希的思路,借用原数组:

第一,可以用哈希表记录数组中出现的数字,再逐一检查1,n中哪些数字缺失。

第二,为了将空间优化到O(1),可以利用原数组本身作为哈希表,通过给对应位置的元素加n来标记数字出现过。

第三,遍历完成后,数组中数值未超过n的位置即对应缺失的数字。

python 复制代码
class Solution:
    def findDisappearedNumbers(self, nums: List[int]) -> List[int]:
        n = len(nums)
        for num in nums:
            x = (num - 1) % n
            nums[x] += n
        
        ret = [i + 1 for i, num in enumerate(nums) if num <= n]
        return ret
相关推荐
Buke..12 小时前
【APP 逆向】哔哩哔哩 sign 参数逆向(下):OLLVM 混淆还原 sign 算法
java·javascript·爬虫·python·算法
闲研随记12 小时前
【文献阅读 ICLR 2026】RL算法:DECS
算法·llm·强化学习·iclr·rl
量化小c12 小时前
一行代码查 BTCUSDT 和 AAPL 最新价?QuantDash 统一多市场实时行情接口实战
后端·算法·github
机器人梦想家13 小时前
具身机器人视觉服务的异步回调与并发控制
数据库·算法·机器人
我命由我1234514 小时前
人脸识别 - 人脸识别选帧
java·人工智能·python·算法·安全·java-ee·人脸识别
时针滴滴答啊14 小时前
最大子数组和
算法·leetcode·职场和发展
五月底_15 小时前
LIS算法
python·算法·最长子序列
Yfhonier15 小时前
【素数定理】素数个数的位数
c++·算法·素数
学学酱快乐15 小时前
2026年PMP考试生命周期选择决策树精讲:从需求判断到混合型统一框架的应试全攻略
算法·决策树·机器学习·pmp新版考试大纲·pmp新题型·pmp培训哪家好·pmp培训机构推荐
重生之后端学习15 小时前
15. 三数之和[中等]✅
java·数据结构·算法·leetcode·职场和发展