給定一個整數數組 nums
,判斷其中是否存在重複元素。
如果任意數字在數組中出現至少兩次,返回 true
;如果所有元素互不相同,則返回 false
。
使用Hash Table的方法
class Solution:
def containsDuplicate(self, nums):
hash_table = {} # 建立一個空字典
for num in nums:
if num in hash_table: # 如果元素已經存在於 hash_table 中
return True # 表示有重複,返回 True
hash_table[num] = 1 # 否則將元素加入 hash_table,值設為 1
return False # 若無重複元素,返回 False
使用Set的方法
class Solution:
def containsDuplicate(nums):
# 建立一個空的 Set
seen = set()
# 遍歷每個元素
for num in nums:
# 如果該元素已經在 Set 中,表示有重複元素
if num in seen:
return true
# 否則將元素加入 Set 中
seen.add(num)
# 沒有重複元素,返回 false
return False
給定兩個整數陣列 nums1
和 nums2
,返回兩個陣列的交集,輸出結果中的每個元素必須是唯一的(即不重複),並且可以按照任意順序進行返回。
使用Hash Table的方法
class Solution:
def intersection(self, nums1, nums2):
# 使用 Hash Table 來儲存 nums1 的所有元素
hash_table = set(nums1)
# 檢查 nums2 中的元素是否存在於 Hash Table 中
result = set()
for num in nums2:
if num in hash_table:
result.add(num)
# 返回結果轉為列表
return list(result)
使用Set的方法
class Solution:
def intersection(self, nums1, nums2):
# 將兩個數組轉換為集合,去除重複元素
set1 = set(nums1)
set2 = set(nums2)
# 使用集合的交集方法
result = set1.intersection(set2)
# 返回結果轉為列表
return list(result)