[LeetCode]350. Intersection of Two Arrays II
题目描述
思路
做完349之后,点了相似的题目进来做
擦除逻辑换成减
但是同时要考虑满足元素在map中,并且元素对应的value大于1
代码
#include <iostream>
#include <vector>
#include <unordered_map>
using namespace std;
class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
vector<int> res;
unordered_map<int, int> n1;
for (int p : nums1)
++n1[p];
for (int p : nums2)
if (n1.count(p) && n1[p] > 0) {
res.push_back(p);
--n1[p];
}
return res;
}
};
int main() {
vector<int> res, nums1 = { 1 }, nums2 = { 1, 1 };
Solution s;
res = s.intersection(nums1, nums2);
for (int p : res) {
cout << p << " ";
}
cout << endl;
system("pause");
}