您的位置:首页 > 科技 > 能源 > 北京百度关键词优化_云南网站开发哪家靠谱_网站百度seo关键词优化_seo网站优化培训价格

北京百度关键词优化_云南网站开发哪家靠谱_网站百度seo关键词优化_seo网站优化培训价格

2024/12/23 6:10:04 来源:https://blog.csdn.net/2302_79765203/article/details/142695364  浏览:    关键词:北京百度关键词优化_云南网站开发哪家靠谱_网站百度seo关键词优化_seo网站优化培训价格
北京百度关键词优化_云南网站开发哪家靠谱_网站百度seo关键词优化_seo网站优化培训价格

前提:排序+去重

思路:两个位置指向两个容器,小的++,相等同时++,相等就是交集,小的和一个遍历完另一个剩下的就是差集

时间复杂度:O(n)

class Solution {
public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {set<int> s1(nums1.begin(),nums1.end()),s2(nums2.begin(),nums2.end());vector<int> equal_v;set<int>::iterator it_be=s1.begin(),it2_be=s2.begin();set<int>::iterator it_en=s1.end(),it2_en=s2.end();while((it_be!=it_en)&&(it2_be!=it2_en)){if(*it_be<*it2_be){it_be++;}else if(*it2_be<*it_be){it2_be++;}else {equal_v.push_back(*it2_be);it2_be++;it_be++;}}return equal_v;}
};

补充:

  1. 在 while 循环中,您需要使用 != 而不是 < 来比较迭代器,因为迭代器不支持 < 运算符来比较是否到达了集合的末尾。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com