class Solution { public: vector<int> intersect(vector<int>& nums1, vector<int>& nums2) { unordered_map<int,int>mp; vector<int> ans; for(int i = 0; i < nums2.size(); ++i) mp[nums2[i]]++; for(int i = 0; i < nums1.size(); ++i) { if(mp[nums1[i]] > 0) { mp[nums1[i]]--; ans.push_back(nums1[i]); } } return ans; } };