must be unique让我想到了set,有序,而且自动unique,没想到可以通过vector初始化,不用一个个循环insert
借助有序的特点,可以挨个位置的比较
class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
set<int> set1(nums1.begin(), nums1.end());
set<int> set2(nums2.begin(), nums2.end());
auto ite1 = set1.begin();
auto ite2 = set2.begin();
vector<int> result;
while(ite1!= set1.end() && ite2 != set2.end()){
if(*ite1 == *ite2){
result.push_back(*ite1);
ite1++;
ite2++;
}
else if(*ite1 < *ite2)
ite1++;
else
ite2++;
}
return result;
}
};
除此之外,algorithm还有sort, unique函数,可以操作vector排序,去重,也能达到同样的目的,但是麻烦点。