448. Find All Numbers Disappeared in an Array

Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others appear once.

Find all the elements of [1, n] inclusive that do not appear in this array.

Could you do it without extra space and in O(n) runtime? You may assume the returned list does not count as extra space.

Example:

Input:
[4,3,2,7,8,2,3,1]

Output:
[5,6]

python实践:

    def findDisappearedNumbers2(self, nums):
        for i in range(0, len(nums)):
            j = abs(nums[i])-1
            nums[j] = -abs(nums[j])
        print(nums)
        return [i+1 for i in range(len(nums)) if nums[i] > 0]
    if __name__ == '__main__':
    l = [4, 3, 2, 7, 8, 2, 3, 1]
    Solution().findDisappearedNumbers2(l)
[-4, -3, -2, -7, 8, 2, -3, -1]

网上参考:

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦