350. 两个数组的交集 II
目录
- 题目
- 解法
题目
给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。
解法
class Solution {
public:vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {vector<int> res;unordered_map<int,int> map;// sort(nums2.begin(), nums2.end());for (int i = 0; i < nums1.size(); i++){ //放进哈希表map[nums1[i]]++;}for(int j = 0; j < nums2.size(); j++){ if (map[nums2[j]] > 0){res.push_back(nums2[j]);map[nums2[j]]--; //找到了就减小对应key的value,大于0表示还有这个数可以匹配}}return res;}
};