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;
}
};