简单的找交集差集算法

news/2024/10/4 5:04:06 标签: 数据结构, c++, 算法

前提:排序+去重

思路:两个位置指向两个容器,小的++,相等同时++,相等就是交集,小的和一个遍历完另一个剩下的就是差集

时间复杂度:O(n)

class Solution {
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        set<int> s1(nums1.begin(),nums1.end()),s2(nums2.begin(),nums2.end());
        vector<int> equal_v;
        set<int>::iterator it_be=s1.begin(),it2_be=s2.begin();
        set<int>::iterator it_en=s1.end(),it2_en=s2.end();
        while((it_be!=it_en)&&(it2_be!=it2_en))
        {
            if(*it_be<*it2_be)
            {
                it_be++;
            }
            else if(*it2_be<*it_be)
            {
                it2_be++;
            }
            else 
            {
                equal_v.push_back(*it2_be);
                it2_be++;
                it_be++;
            }
        }
        return equal_v;
    }
};

补充:

  1. 在 while 循环中,您需要使用 != 而不是 < 来比较迭代器,因为迭代器不支持 < 运算符来比较是否到达了集合的末尾。


http://www.niftyadmin.cn/n/5689451.html

相关文章

过滤器 Filter 详解

想象一下&#xff0c;你正在搭建一个网站&#xff0c;用户需要登录才能访问某些页面。你肯定不希望未经授权的用户能够随意浏览或修改重要信息&#xff0c;这时&#xff0c;你就需要一个“安全门”来保护你的网站&#xff0c;而 Java Filter 就是扮演这个角色的最佳人选&#x…

MongoDB聚合操作及索引底层原理

目录 链接:https://note.youdao.com/ynoteshare/index.html?id=50fdb657a9b06950fa255a82555b44a6&type=note&_time=1727951783296 本节课的内容: 聚合操作: 聚合管道操作: ​编辑 $match 进行文档筛选 ​编辑 将筛选和投影结合使用: ​编辑 多条件匹配: …

【web安全】——文件包含漏洞

1. 文件包含基础 和SQL注入等攻击方式一样&#xff0c;文件包含漏洞也是一种注入型漏洞&#xff0c;其本质就是输入一段用户能够控制的脚本或者代码&#xff0c;并让服务端执行。 1.1. 文件包含简介 什么叫包含呢&#xff1f;以PHP为例&#xff0c;我们常常把可重复使用的函…

Qt Quick 3D 入门:QML 3D场景详解

随着 Qt 6 的发布&#xff0c;QtQuick3D 模块带来了新的 3D 渲染和交互能力&#xff0c;使得在 Qt 中创建 3D 场景变得更加简单和直观。本文将带您从一个简单的 QML 3D 应用开始&#xff0c;详细讲解各个相关领域的概念、代码实现以及功能特点。 什么是 Qt Quick 3D&#xff1…

【信息系统项目管理师考题预测】成本管理

一、选择题 成本估算方法 题目:某高校校园网建设的项目经理正在估算该项目的成本,此时尚未掌握项目的全部细节。最适合采用哪种成本估算方法?选项:A. 类比估算法 B. 自下而上估算法 C. 蒙特卡罗分析 D. 参数模型答案:A(类比估算法适用于项目详细资料难以得到时的情况)成…

ECMAScript标准

1. 引言 ECMAScript&#xff08;ES&#xff09;是现代Web开发的基础&#xff0c;作为JavaScript的标准化版本&#xff0c;为开发者提供了一致的语法和特性。随着技术的不断进步&#xff0c;ECMAScript也在不断更新&#xff0c;以满足开发者的需求。本文将深入探讨ECMAScript的…

关于 Angular SSR 应用 html 源代码中的 ng-state script 标签

在 Angular 服务器端渲染 (SSR) 的机制中&#xff0c;出现的 <script id"ng-state" type"application/json"> 是一个关键部分&#xff0c;它与 Angular 的状态转移和优化用户体验息息相关。这个 ng-state 标签中的 JSON 对象包含了 Angular 应用的预…

手机使用指南:如何在没有备份的情况下从 Android 设备恢复已删除的联系人

在本指南中&#xff0c;您将了解如何从 Android 手机内存中恢复已删除的联系人。Android 诞生、见证并征服了 80% 的智能手机行业。有些人可能将此称为“非常大胆的宣言”&#xff0c;但最近的统计数据完全支持我们的说法。灵活性、高度改进的可用性和快速性是 Android 操作系统…