找两个数组的交集(不要多想,考虑啥序列之类的,就是简单的两堆数求交集啊!!!最后去个重就好了)
//LeetCode里用到很多现成函数的时候,苦手だな~ //这个题的思路是,先sort,把两个vector进行排序 //然后同时遍历两个字符串,找到相等的数字就放在结果vector里 //最后unique,求vector里独一无二的数字 //erase,得到没有重复的结果 class Solution { public: vector<int> intersection(vector<int>& nums1, vector<int>& nums2) { // Write your code here sort(nums1.begin(), nums1.end()); sort(nums2.begin(), nums2.end()); vector<int> intersect; vector<int>::iterator it1 = nums1.begin(), it2 = nums2.begin(); while ((it1 != nums1.end()) && (it2 != nums2.end())) { if (*it1 < *it2) it1++; else if (*it1 > *it2) it2++; else { intersect.push_back(*it1); it1++; it2++; } } auto last = unique(intersect.begin(), intersect.end()); intersect.erase(last, intersect.end()); return intersect; } };