题目:
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.
给定一个阵列,判断里面的值是否都是独一无二的
这题用简单的hash set就能实作
class Solution: def containsDuplicate(self, nums: List[int]) -> bool: s=set() for i in nums: if i not in s: s.add(i) else: return True return False
从头开始遍历,纪录经过的值
一发现值已经在set内,return False
若都没发现重複的值则return True
最后执行时间445ms(faster than 99.04%)
更狠一点还能这样写
class Solution: def containsDuplicate(self, nums: List[int]) -> bool: return len(nums) != len(set(nums))
将阵列转set,若长度不同则代表有重複的数存在
最后执行时间472ms(faster than 92.76%)
那我们下题见