題目:
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%)
那我們下題見