题目:
给定两个数组,编写一个函数来计算它们的交集。
题解思路:
方法:STL中的set
函数代码一:
class Solution { public: vector<int> intersection(vector<int>& nums1, vector<int>& nums2) { set<int>record; for(int i=0;i<nums1.size();i++) { record.insert(nums1[i]); } set<int> vec; for(int i=0;i<nums2.size();i++) { if(record.find(nums2[i])!=record.end()) { vec.insert(nums2[i]); } } vector<int>res; for(set<int>::iterator iter=vec.begin();iter!=vec.end();iter++) { res.push_back(*iter); } return res; } };函数代码二:
class Solution { public: vector<int> intersection(vector<int>& nums1, vector<int>& nums2) { set<int>record(nums1.begin(),nums1.end()); set<int> vec; for(int i=0;i<nums2.size();i++) { if(record.find(nums2[i])!=record.end()) { vec.insert(nums2[i]); } } return vector<int>(vec.begin(),vec.end()); } };