#442. Find All Duplicates in an Array

https://leetcode.com/problems/find-all-duplicates-in-an-array/#/description

image.png

Python (超时了)

class Solution(object):
    def findDuplicates(self, nums):
        """
        :type nums: List[int]
        :rtype: List[int]
        """
        d = dict()
        for num in nums:
            if num not in d.keys():
                d[num] = 1
            else:
                d[num] += 1
        return [k for k, v in d.items() if v == 2]

Python

  • 不要用key in dict.keys() 很慢
  • 用dict.has_key(key)很快
class Solution(object):
    def findDuplicates(self, nums):
        """
        :type nums: List[int]
        :rtype: List[int]
        """
        d = dict()
        re = []
        for num in nums:
            if not d.has_key(num):
                d[num] = 1
            else:
                d[num] += 1
                re.append(num)
        return re
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容