LeetCode #448. Find All Numbers Disappeared in an Array
题目
448. Find All Numbers Disappeared in an Array
解题方法
首先遍历数组,将其中所有位置上的数作为index,然后把nums[index]位置的数设置为负数(如果已经是负数则不变),遍历结束后,数组中所有正数的下标值+1就是缺失的数。
时间复杂度:O(n)
空间复杂度:O(1)
代码
class Solution:
def findDisappearedNumbers(self, nums: List[int]) -> List[int]:
ret = []
for i in range(len(nums)):
nums[abs(nums[i])-1] = -abs(nums[abs(nums[i])-1])
for i in range(len(nums)):
if nums[i] > 0:
ret.append(i+1)
return ret

浙公网安备 33010602011771号