[leetcode] 217. Contains Duplicate

题目

Given an integer array nums, return true if any value appears at least twice in the array, and return false if every element is distinct.

Example 1:

Input: nums = [1,2,3,1]
Output: true

Example 2:

Input: nums = [1,2,3,4]
Output: false

Example 3:

Input: nums = [1,1,1,3,3,4,3,2,4,2]
Output: true

Constraints:

  • 1 <= nums.length <= 105
  • -109 <= nums[i] <= 109

思路

最简单的思路是散列表记录元素与元素出现的次数,如果有元素的出现次数大于二,则返回true,否则返回false。

貌似也没有其他更优秀的方法。。

代码

python版本:

class Solution:
    def containsDuplicate(self, nums: List[int]) -> bool:
        cnt = Counter(nums)
        for i in cnt.values():
            if i > 1:
                return True
        return False

# 或者用set
class Solution:
    def containsDuplicate(self, nums: List[int]) -> bool:
        return len(nums) != len(set(nums))

posted @ 2022-05-15 23:52  frankming  阅读(17)  评论(0编辑  收藏  举报