题意:
给定两个数组,编写一个函数来计算它们的交集。
示例 1:
输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2]
解题思路:
使用unordered_set 存储数组的元素,目的是去重,判断第二个集合中是否有第一个集合中的元素即可
代码:
class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
vector<int> ans;
int n = nums1.size();
int m = nums2.size();
unordered_set<int> se1, se2;
for(int i = 0; i < n; i++) {
se1.insert(nums1[i]);
}
for(int i = 0; i < m; i++) {
se2.insert(nums2[i]);
}
for(auto&num : se1) {
if(se2.count(num)) {
ans.push_back(num);
}
}
return ans;
}
};

博客围绕LeetCode 349题目展开,该题要求计算两个数组的交集。解题思路是用unordered_set存储数组元素以去重,然后判断第二个集合中是否存在第一个集合的元素。
584





