链接
https://leetcode-cn.com/problems/intersection-of-two-arrays/
耗时
解题:14 min
题解:2 min
题意
给定两个数组,编写一个函数来计算它们的交集。
思路
详见代码。
时间复杂度: O ( n + m ) O(n+m) O(n+m)
AC代码
class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
unordered_set<int> unorset_nums1;
for(auto x : nums1) {
if(unorset_nums1.find(x) == unorset_nums1.end()) {
unorset_nums1.insert(x);
}
}
unordered_set<int> intersection;
for(auto y : nums2) {
if(unorset_nums1.find(y) != unorset_nums1.end() && intersection.find(y) == intersection.end()) {
intersection.insert(y);
}
}
vector<int> ans;
for(auto z : intersection) {
ans.push_back(z);
}
return ans;
}
};