Find All Numbers Disappeared in an Array

来源:互联网 发布:模拟退火算法应用 编辑:程序博客网 时间:2024/04/29 17:35

简单的Leetcode题目

Given an unsorted integer array, find the first missing positive integer.For example,Given [1,2,0] return 3,and [3,4,-1,1] return 2.Your algorithm should run in O(n) time and uses constant space.

使用python解决:
(1)使用list做(失败):

class Solution(object):    def findDisappearedNumbers(self, nums):        """        :type nums: List[int]        :rtype: List[int]        """        need = []        for i in range(1,len(nums)+1):            if i not in nums:                need.append(i)        return need

虽说可以通过,但是超时间了,list遍历太费时间了
同样的思路。使用set做

class Solution(object):    def findDisappearedNumbers(self, nums):        """        :type nums: List[int]        :rtype: List[int]        """        newset = set(range(1,len(nums)+1))        oldset = set(nums)        return list(newset-oldset)

这下过了

原创粉丝点击