题目:
Given two arrays, write a function to compute their intersection.
Example: Given nums1 = [1, 2, 2, 1], nums2 = [2, 2], return [2].
Note:
Each element in the result must be unique.The result can be in any order.思路:
1.去除重复值
2.查找交叉项
利用C++ set标准数据结构,并巧用find查找函数
代码:
class Solution { public: vector<int> intersection(vector<int>& nums1, vector<int>& nums2) { vector<int> res; set<int> num1; set<int> num2; for(int i = 0;i<nums1.size();i++) num1.insert(nums1[i]); for(int i = 0;i<nums2.size();i++) num2.insert(nums2[i]); for(set<int>::iterator itr = num2.begin();itr!=num2.end();itr++) { if(num1.find(*itr)!=num1.end()) res.push_back(*itr); } return res; } };