c++两个数组求交集的实现算法(附完整源码)
时间: 2023-12-24 11:01:18 浏览: 186
C++实现离散数学中求集合.7z
两个数组求交集可以使用哈希表来实现。首先将第一个数组中的元素存入哈希表中,然后遍历第二个数组,判断每个元素是否在哈希表中,如果是,则将其加入结果数组中。
以下是完整的源码:
```python
def intersection(nums1, nums2):
# 将第一个数组中的元素存入哈希表
hash_table = {}
for num in nums1:
hash_table[num] = True
# 遍历第二个数组,判断每个元素是否在哈希表中
result = []
for num in nums2:
if num in hash_table:
result.append(num)
return result
# 测试
nums1 = [1, 2, 2, 1]
nums2 = [2, 2]
print(intersection(nums1, nums2)) # 输出 [2, 2]
```
以上代码首先创建一个空的哈希表 hash_table,然后遍历第一个数组 nums1,将其元素存入哈希表中。然后遍历第二个数组 nums2,判断每个元素是否在哈希表中,如果是,则将其加入结果数组 result 中。最后返回结果数组 result 即为两个数组的交集。
阅读全文