217。数据中是否有重复元素(哈希表/set简法)

给定一个整数数组,判断是否存在重复元素。

如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。

示例 1:
输入: [1,2,3,1]
输出: true

解法1:哈希表

class Solution:
    def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool:
        res = {}
        for index, num in enumerate(nums):
            if num in res and index-res[num] <=k:
                return True
            res[num] = index
        return False

解法2:set

class Solution:
    def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool:
        return len(nums) == len(set(nums))
posted @ 2020-09-18 16:23  程序猿-悟空  阅读(209)  评论(0编辑  收藏  举报