解题思路
求解两个数组的交集很简单,该题解是学习如何写优秀的代码。

代码
class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
unordered_set<int> result_num;
//set的初始化,迭代器or地址初始化,如果set提前定义可以用insert初始化
unordered_set<int> nums_set(nums1.begin(),nums1.end());
for(int x:nums2){
if(nums_set.find(x)!=nums_set.end()){//set调用find函数,查找某一个值是否在set中
result_num.insert(x);
}
}
//把set转化为vector返回
return vector<int>(result_num.begin(),result_num.end());
}
};
这篇博客介绍了如何利用C++中的unordered_set高效地找出两个整数数组的交集。通过将一个数组的元素插入到set中,然后遍历另一个数组,检查每个元素是否在set中,将交集元素存入新的unordered_set。最后将结果set转换为vector并返回。这种方法避免了重复元素,实现了简洁的代码实现。
1624

被折叠的 条评论
为什么被折叠?



