找交集:
1.不相等,小的++
2.相等,交集就是同时++

class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
//排序+去重
//sort(num1.begin(),nums1.end());
//unique(nums1.begin(),nums1.end());
set<int> s1(nums1.begin(),nums1.end());
set<int> s2(nums2.begin(),nums2.end());
auto it1 = s1.begin();
auto it2 = s2.begin();
vector<int> v;
while(it1!=s1.end()&&it2!=s2.end())
{
if(*it1>*it2)
{
++it2;
}
else if(*it1<*it2)
{
++it1;
}
else
{
v.push_back(*it1);
++it1;
++it2;
}
}
return v;
}
};
找差集:
1.相等,同时++
2.不相等,小的就是差集,小的++
一个走完了,剩下没有走完的集合的值也是差集
文章介绍了如何使用C++实现LeetCode中的两个数组交集和差集问题,通过排序和使用set数据结构来找到两个数组的公共元素以及独有的部分。
1071

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



