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

125 阅读1分钟

给你一个含 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]

来源:力扣(LeetCode) 链接:leetcode.cn/problems/fi… 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

上代码

func findDisappearedNumbers(_ nums: [Int]) -> [Int] {

    var res:[Int] = []

    

    var nnums = nums

    for number in nnums {

        nnums[number-1] = nnums[number-1] + nnums.count

    }

    for index in 0...nnums.count-1 {

        if nnums [index]<nnums.count {

            res.append(index+1)

        }

    }

    return res

}

\