力扣349两个数的交集

题目连接:349. 两个数组的交集 - 力扣(LeetCode)
给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。

示例 1:

输入: nums1 = [1,2,2,1], nums2 = [2,2]
输出: [2]

示例 2:

输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出: [9,4]
解释: [4,9] 也是可通过的

思路:利用set将vector中的元素存放到set中,做到去重和排序的目的。

比如示例2:存放到set中如下

image.png
遍历两个set容器 如果两个容器中有相同的元素值就添加到结果集当中。不相等让值小的先走进行判断

class Solution 
{
   
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) 
    {
   
         vector<int> ret;
         if(nums1.empty() || nums2.empty())
         {
   
             return ret;
         }
        //将num1和num2中的元素存到set中达到排序+去重的目的
        set<int> set1,set2;
        for(auto& e: nums1)
        {
   
            set1.insert(e);
        }
        for(auto& e : nums2)
        {
   
            set2.insert(e);
        }
        //此时set1和set2中的元素已经有序且唯一
        auto set1_it = set1.begin();
        auto set2_it = set2.begin();
        //遍历set确定交集
        while(set1_it != set1.end() && set2_it != set2.end())
        {
   
            if(*set1_it < *set2_it)
            {
   
                set1_it++;
            }
            else if(*set1_it > *set2_it)
            {
   
                set2_it++;
            }
            else
            {
   
                ret.push_back(*set1_it);
                set1_it++;
                set2_it++;
            }
        }
        return ret;
    }
};

相关推荐

  1. -349. 交集

    2024-02-02 11:46:03       10 阅读
  2. 【数据结构与算法】 349. 交集

    2024-02-02 11:46:03       15 阅读
  3. LeetCode349.交集

    2024-02-02 11:46:03       21 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-02 11:46:03       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-02 11:46:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-02 11:46:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-02 11:46:03       18 阅读

热门阅读

  1. TerserWebpackPlugin详解

    2024-02-02 11:46:03       28 阅读
  2. ES6 Proxy详解

    2024-02-02 11:46:03       35 阅读
  3. 在CentOS 7上安装MySQL 8.0

    2024-02-02 11:46:03       33 阅读
  4. Power BI 不重复计数函数

    2024-02-02 11:46:03       37 阅读
  5. C语言结构体赋值的四种方式

    2024-02-02 11:46:03       34 阅读
  6. 使用Eigen3计算旋转平移缩放矩阵

    2024-02-02 11:46:03       34 阅读
  7. 【Node系列】创建第一个服务器应用

    2024-02-02 11:46:03       33 阅读