leetcode_217 存在重复元素

61 阅读1分钟

核心代码

class Solution:
    def containsDuplicate(self, nums: List[int]) -> bool:
        if len(nums) == 1:
            return False
        nums.sort()
        for index in range(len(nums)-1):
            if nums[index] == nums[index + 1]:
                return True
        return False

另一解法

class Solution:
    def containsDuplicate(self, nums: List[int]) -> bool:
        record = dict()
        for num in nums:
            if record.get(num,0):
                return True
            record[num] = 1
        return False

第三种解法

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

image.png

解题思路:第一种解法:我们使用排序,然后判断相邻的数据是否相同,形同则存在相同元素。第二种解法:使用hashmap,使用字典记录数据的次数,超过一次的就是存在相同元素,返回True;第三种解法:使用list的长度和set后的list的长度是否相等。