class Solution { public: vector intersect(vector& nums1, vector& nums2) { map count_1; for (auto num:nums1) if (!count_1.count(num)) count_1[num] = 1; else count_1[num] += 1; vector count_2; for (auto num:nums2) if (count_1[num] > 0){ count_2.push_back(num); count_1[num] --; } return count_2; } };