列表

详情


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

给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。

 

示例 1:

输入:nums = [4,3,2,7,8,2,3,1]
输出:[5,6]

示例 2:

输入:nums = [1,1]
输出:[2]

 

提示:

进阶:你能在不使用额外空间且时间复杂度为 O(n) 的情况下解决这个问题吗? 你可以假定返回的数组不算在额外空间内。

相似题目

缺失的第一个正数

数组中重复的数据

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: vector<int> findDisappearedNumbers(vector<int>& nums) { } };

golang 解法, 执行用时: 64 ms, 内存消耗: 7.7 MB, 提交时间: 2021-06-10 22:36:19

func findDisappearedNumbers(nums []int) (res []int) {
    ans := make([]int, len(nums)+1)

    for _, num := range nums {
        ans[num] = num
    }
    for i, num := range ans {
        if i != num {
            res = append(res, i)
        }
    }
    return 
}

上一题