在Python中,计算两个数组的交集可以通过多种方法实现,以下是几种常见的方法:
方法一:使用内置函数 `intersection()`
def intersection(nums1, nums2):
return list(set(nums1).intersection(set(nums2)))
方法二:排序后双指针法
def intersection(nums1, nums2):
nums1.sort()
nums2.sort()
result = []
i, j = 0, 0
while i < len(nums1) and j < len(nums2):
if nums1[i] == nums2[j]:
result.append(nums1[i])
i += 1
j += 1
elif nums1[i] < nums2[j]:
i += 1
else:
j += 1
return result
方法三:使用哈希表
def intersection(nums1, nums2):
hash_dict = {}
result = []
for num in nums1:
if num not in hash_dict:
hash_dict[num] = 1
for num in nums2:
if num in hash_dict and hash_dict[num] == 1:
result.append(num)
hash_dict[num] = 0 避免重复添加
return result
方法四:使用集合操作
def intersection(nums1, nums2):
return list(set(nums1) & set(nums2))
以上方法都可以用来计算两个数组的交集,你可以根据具体的需求和场景选择合适的方法。需要注意的是,输出结果中的元素应该是唯一的,且不考虑输出结果的顺序。