Contains Duplicate[LeetCode/Python3/Easy]
題目
給定一個整數陣列 nums
,如果在陣列中有任何值出現至少兩次,則返回 true
;如果每個元素都是唯一的,則返回 false
。
例 1:
輸入: nums = [1,2,3,1]
輸出: true
例 2:
輸入: nums = [1,2,3,4]
輸出: false
例 3:
輸入: nums = [1,1,1,3,3,4,3,2,4,2]
輸出: true
限制:
1 <= nums.length <= 105
109 <= nums[i] <= 109
我的答案
第一個答案
class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
appeared_element={}
for item in nums:
if item in appeared_element:
return True
else:
appeared_element[item]=1
return False
原本一開始我還使用list來存出現過的數字,結果執行時間超過上限,後來改成用dictionary來存,就可以通過!因為dictionary的資料結構為hash table,在查詢上的速度會比list快上許多。
第二個答案
class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
if len(nums)>len(set(nums)):
return True
else:
return False
留言
張貼留言