349. Intersection of Two Arrays
题目:
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.
答案:
用set解决
1 class Solution { 2 public: 3 vector<int> intersection(vector<int>& nums1, vector<int>& nums2) { 4 set<int>s1,s2; 5 vector<int>s3; 6 int n1=nums1.size(); 7 int n2=nums2.size(); 8 for(int i=0;i<n1;i++){ 9 s1.insert(nums1[i]); 10 } 11 for(int i=0;i<n2;i++){ 12 s2.insert(nums2[i]); 13 } 14 set<int>::iterator it1=s1.begin(),it2=s2.begin(); 15 while(it1!=s1.end()&&it2!=s2.end()){ 16 if(*it1==*it2){ 17 s3.push_back(*it1); 18 it1++; 19 it2++; 20 } 21 else if(*it1<*it2){ 22 it1++; 23 } 24 else{ 25 it2++; 26 } 27 } 28 return s3; 29 } 30 };