349. 两个数组的交集

Problem: 349. 两个数组的交集

思路

使用set的数据结构也就是红黑树实现的哈希表,

使用两个set第一个记录num1的值,遍历num2如果num2的值在set出现过,将这个值记录到result的set中

错误

if(set.find(item) != set.end())这里写错一次

复杂度

  • 时间复杂度:

$O(n)$

  • 空间复杂度:

$O(n)$

Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution {
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        unordered_set<int> set(nums1.begin(),nums1.end());
        unordered_set<int> result;

        for(int item : nums2) {
            if(set.find(item) != set.end()) {
                result.insert(item);
            }
        }
       
        return vector<int>(result.begin(),result.end());
    }
};