给你两个集合,要求{A} + {B}

news2024/11/24 9:09:32

先看题:
在这里插入图片描述
看完题后你会觉得:哇,好简单,STL一下就出来啦。

#include <iostream>
#include <set>

using namespace std;

int main() {
    int n, m;
    while (cin >> n >> m) {
        set<int> set_a;

        for (int i = 0; i < n+m; i++) {
            int element;
            cin >> element;
            set_a.insert(element);
        }

        for (const auto& element : set_a) {
            cout << element << " ";
        }
        cout << endl;
    }

    return 0;
}

可能会有一点点的变式,也就是把 set set_a;放循环外面,循环中加一个set_a.clear();
如果你不想使用循环遍历容器也可以使用迭代器遍历,
当然这段代码有一点点小问题,最后一个数的后面应该不含空格
例下:来自这里

#include <iostream>
#include <set>
using namespace std;
 
int main()
{
    int n, m, val;
    set<int> result;
 
    while(cin >> n >> m) {
        result.clear();
 
        for(int i=1; i<=n+m; i++) {
            cin >> val;
            result.insert(val);
        }
 
        bool nofirstflag = false;
        for(set<int>::iterator it = result.begin(); it != result.end(); it++) {
            if(nofirstflag)
                cout << " ";
            nofirstflag = true;
 
            cout << *it;
        }
        cout << endl;
    }
 
    return 0;
}

当然也有可能用的数组:

#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

int main()
{
    int n, m;
    while(cin>>n>>m)
    {
        int temp;
        vector <int> vector_a;
        for (int i = 0; i < n+m; i++)
        {
            cin >> temp;
            vector_a.push_back(temp);
        }
        sort(vector_a.begin(), vector_a.end());
        cout << vector_a[0];
        for (int i = 1; i < n+m; i++)
            if (vector_a[i] != vector_a[i-1])
                cout << " " << vector_a[i];
        cout<<endl;
    }
    
}

常规的看完了,让我们看看“非常规“的:

#include <iostream>
#include <set>

using namespace std;

int main() {
    int n, m;
    while (cin >> n >> m) {
        set<int> set_a;
        set<int> set_b;

        for (int i = 0; i < n; i++) {
            int element;
            cin >> element;
            set_a.insert(element);
        }

        for (int i = 0; i < m; i++) {
            int element;
            cin >> element;
            set_b.insert(element);
        }

        set<int> union_set;
        for (const auto& element : set_a) {
            union_set.insert(element);
        }
        for (const auto& element : set_b) {
            union_set.insert(element);
        }

        for (const auto& element : union_set) {
            cout << element << " ";
        }
        cout << endl;
    }

    return 0;
}

这是我第一次通过的,可以看到几乎没有用到一点set的用处,多了两个for循环,在逻辑上多占了一倍的空间,多耗费了一倍的时间。当我们学会了STL的时候,不仅可以解决上述问题,更重要的是,繁杂重复的代码会将你的思路打断,让你感觉敲代码像是搬砖,并且代码一多会使代码的可读性大打折扣,这可不好,你总不能说,这段代码真差,结果一查,是你一个月前写的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1043415.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第二证券:造谣?判了!有人少花四五万!美元突破近10个月高位

当地时间9月25日&#xff08;周一&#xff09;&#xff0c;美国三大股指停步四连跌。纳斯达克我国金龙指数跌1.1%&#xff0c;抱负轿车跌近10%。蔚来跌幅明显收窄&#xff0c;盘终跌超2%。美元指数一度升破106关口&#xff0c;刷新上一年11月底以来的10个月最高&#xff0c;此前…

Qt扫盲-QSqlQueryModel理论总结

QSqlQueryModel理论总结 一、概述二、使用1. 与 view 视图 绑定2. 分离视图&#xff0c;只存数据 一、概述 QSqlQueryModel是用于执行SQL语句和遍历结果集的高级接口。它构建在较低级的 QSqlQuery之上&#xff0c;可用于向QTableView 等视图类提供数据&#xff0c;也是使用了Q…

中国大模型的路,是不是走歪了?

大数据产业创新服务媒体 ——聚焦数据 改变商业 在这波全球大模型的浪潮中&#xff0c;中国与美国无疑成为了领军者。但中美在大模型的发展策略上却出现了显著的分歧。美国&#xff0c;以OpenAI为代表&#xff0c;持续致力于通用型大模型的研发。与此相反&#xff0c;中国则将…

著名数字音频工作站FL Studio 21.0.3.3517中文破解安装图文激活教程

在一个技术继续塑造我们日常生活的世界里&#xff0c;创造力找到了表达自己的新渠道。FL Studio 21成为一个强大的工具&#xff0c;使个人能够创作自己的音乐杰作。一个人需要广泛的乐器知识或一个成熟的工作室来创作交响乐的日子已经一去不复返了。有了FL Studio 21&#xff0…

MySQL作业:索引、视图、存储、函数

学生表&#xff1a;Student (Sno, Sname, Sex , Sage, Sdept) 学号&#xff0c;姓名&#xff0c;性别&#xff0c;年龄&#xff0c;所在系 Sno为主键 课程表&#xff1a;Course (Cno, Cname,) 课程号&#xff0c;课程名 Cno为主键 学生选课表&#xff1a;SC (Sno, Cno, Score) …

【响应式布局】

响应式布局 1 什么是响应式布局2 响应式布局的5种实现方案2.1 百分比布局2.2 媒体查询布局2.3 rem响应式布局2.4 vw / vh响应式布局2.5 flex弹性布局 1 什么是响应式布局 响应式布局就是一个网站能够兼容多个终端——而不是为每个终端做一个特定的版本。这个概念是为解决移动互…

地球的某一片红薯地中秋圆《乡村振兴战略下传统村落文化旅游设计》——旅行季许少辉八月新书辉少许想象和世界一样宽广

地球的某一片红薯地中秋圆《乡村振兴战略下传统村落文化旅游设计》——旅行季许少辉八月新书辉少许想象和世界一样宽广 地球的某一片红薯地中秋圆《乡村振兴战略下传统村落文化旅游设计》——旅行季许少辉八月新书辉少许想象和世界一样宽广]

定义现代化实时数据仓库,SelectDB 全新产品形态全面发布

导读&#xff1a;9 月 25 日&#xff0c;2023 飞轮科技产品发布会在线上正式召开&#xff0c;本次产品发布会以 “新内核、新图景” 为主题&#xff0c;飞轮科技 CEO 马如悦全面解析了现代化数据仓库的演进趋势&#xff0c;宣布立足于多云之上的 SelectDB Cloud 云服务全面开放…

C++学习资源

https://www.cnblogs.com/xueweihan/p/13928719.html GitHub - Light-City/CPlusPlusThings: C那些事 GitHub - 0voice/introduce_c-cpp_manual: 一个收集C/C新手学习的入门项目&#xff0c;整理收纳开发者开源的小项目、工具、框架、游戏等&#xff0c;视频&#xff0c;书籍&a…

[密码学入门]仿射密码(Affine)

加密算法y(axb)mod N 解密算法x*(y-b)mod N(此处的为a关于N的乘法逆元&#xff0c;不是幂的概念&#xff09; 如何求&#xff0c;涉及的知识挺多&#xff0c;还没想好怎么写&#xff0c;丢番图方程&#xff0c;贝祖定理&#xff08;又译裴蜀定理&#xff09;&#xff0c;扩展欧…

学物联网有前途吗?

学物联网有前途吗&#xff1f; 物联网即“万物相连的互联网”&#xff0c;是互联网基础上的延伸和扩展的网络&#xff0c;将各种信息传感设备与互联网结合起来而形成的一个巨大网络&#xff0c;实现在任何时间、任何地点&#xff0c;人、机、物的互联互通。最近很多小伙伴找我&…

中国智能产业高峰论坛:文档大模型与文档图像智能理解的进展和思考

✓ 写在前面✓ 文档大模型的思考与探索✓ 文档图像大模型的进展✓ 多模态大模型与文档图像智能理解多模态大模型的应用和发展文档图像智能理解的技术和挑战产业应用和前景展望 ✓ 写在前面 2023 年第十二届中国智能产业高峰论坛&#xff08;CIIS 2023&#xff09;于 9 月 17-1…

LeetCode 474.一和零 动态规划 一维dp(两个维度)

https://leetcode.cn/problems/ones-and-zeroes/description/ 给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的长度&#xff0c;该子集中 最多 有 m 个 0 和 n 个 1 。 如果 x 的所有元素也是 y 的元素&#xff0c;集合 x 是集合 y 的…

在SpringBoot中利用Redis实现互斥锁

在SpringBoot中利用Redis实现互斥锁 基本知识 前提条件&#xff0c;有一个能够在Springboot中使用Redis的项目&#xff0c;或者能够直接开也行 为什么要实现互斥锁&#xff1a;当我们利用Redis存储热点数据时&#xff0c;突然就过期失效或者被删除了&#xff0c;导致大量请求同…

Flink安装及简单使用

目录 转载处&#xff08;个人用最新1.17.1测试&#xff09; 依赖环境 安装包下载地址 Flink本地模式搭建 安装 启动集群 查看WebUI 停止集群 Flink Standalone搭建 安装 修改flink-conf.yaml配置文件 修改workers文件 复制Flink安装文件到其他服务器 启动集群 查…

秦时明月沧海手游阵容推荐,秦时明月沧海角色强度

秦时明月沧海角色强度如何&#xff1f;在秦时明月沧海手游中&#xff0c;您可以从大量的角色卡牌中选择并发展&#xff0c;为了顺利通过各种副本&#xff0c;玩家们需要精心搭配阵容。那么&#xff0c;具体该如何配置最强的角色呢&#xff1f; 下面&#xff0c;小编将带各位玩家…

简述ceph文件储存系统

Ceph 是一个统一的分布式存储系统和共享机制&#xff0c;它定义了数据如何存储在一个或多个节点上并呈现给其他机器以供文件访问。 Ceph特点 高性能 a. 摒弃了传统的集中式存储元数据寻址的方案&#xff0c;采用CRUSH算法&#xff0c;数据分布均衡&#xff0c;并行度高。 b.考…

Vue - 虚拟DOM的简单理解

目录 虚拟DOM虚拟DOM树生成流程 因为直接操作真实的 DOM 会比较影响效率。所以 vue 使用了 虚拟DOM&#xff08;VNode&#xff09;来描述要渲染的内容。 虚拟DOM 它是一个 js 对象&#xff0c;比如&#xff1a; const vnode {tag: "h1",children: [{ tag: undefi…

【太阳能多电平逆变器】采用SPWM技术的太阳能供电多电平逆变器研究(simulink)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…