350. 两个数组的交集 II
作者:互联网
题目:https://leetcode-cn.com/problems/intersection-of-two-arrays-ii/
分析:这道题与349类似,只是要元素可以出现重复,所有考虑使用"multiset";还可以考虑使用“排序+双指针”。
代码:
C++版本: vector<int> intersect(vector<int>& nums1, vector<int>& nums2) { multiset<int> s1(nums1.begin(), nums1.end()); multiset<int> s2; for (auto& num : nums2) { if (s1.find(num) != s1.end()){ s2.insert(num); s1.erase(s1.lower_bound(num)); } } return vector<int> (s2.begin(), s2.end()); }
知识点:
1、在multimap和multiset中查找元素:https://blog.csdn.net/jasonLee_lijiaqi/article/details/78596763
2、multiset用法总结:https://blog.csdn.net/sodacoco/article/details/84798621
标签:vector,end,交集,s2,s1,II,num,350,multiset 来源: https://www.cnblogs.com/wltree/p/15432358.html