2024.7.16
**每日一题**
2956.找到两个数组公共的公共元素,这道题是一个哈希表的简单题目,根据题意,我们需要统计的是每个数组在另外一个数组中也存在的元素个数,所以我们建立两个哈希表,分别统计两个数组中出现的元素的情况,数据范围很小,这里选用数组模拟哈希表或者用STL的哈希表都可以完成,统计完之后再分别遍历两个数组找出答案即可。
class Solution {
public:
vector<int> findIntersectionValues(vector<int>& nums1, vector<int>& nums2) {
int n = nums1.size();
int m = nums2.size();
vector<int> hash1(101,0);
vector<int> hash2(101,0);
for(int i =0;i<n;i++){
hash1[nums1[i]]++;
}
for(int i = 0;i<m;i++){
hash2[nums2[i]]++;
}
vector<int> ans(2,0);
for(int i = 0;i<n;i++){
if(hash2[nums1[i]]>0) ans[0]++;
}
for(int i =0;i<m;i++){
if(hash1[nums2[i]]>0) ans[1]++;
}
return ans;
}
};