leetcode 349. Intersection of Two Arrays
Given two arrays, write a function to compute their intersection.
Example 1:
Input: nums1 = [1,2,2,1], nums2 = [2,2]
Output: [2]
Example 2:
Input: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
Output: [9,4]
Note:
- Each element in the result must be unique.
- The result can be in any order.
思路:哈系表(set,map),排序+双指针
1 class Solution { 2 public: 3 vector<int> intersection(vector<int>& nums1, vector<int>& nums2) { 4 unordered_set<int> s(nums1.begin(), nums1.end()); 5 vector<int> res; 6 for (int x : nums2) { 7 if (s.erase(x)) { 8 res.push_back(x); 9 } 10 } 11 return res; 12 } 13 };
越努力,越幸运