找两个数组的交叉部分,可以用map进行标记
首先对第一个数组进行记录,第二个数组在第一个数组记录基础上进行判断,如果在第一个数组出现过,就记录
1 class Solution { 2 public: 3 vector<int> intersect(vector<int>& nums1, vector<int>& nums2) { 4 map<int,int>p_map; 5 vector<int>p_vec; 6 for(int i=0;i<nums1.size();i++) 7 p_map[nums1[i]]++; 8 for(int i=0;i<nums2.size();i++) { 9 p_map[nums2[i]]--; 10 if(p_map[nums2[i]]>=0) 11 p_vec.push_back(nums2[i]); 12 } 13 return p_vec; 14 } 15 };