给你两个集合,要求{A} + {B}
先看题:

看完题后你会觉得:哇,好简单,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的时候,不仅可以解决上述问题,更重要的是,繁杂重复的代码会将你的思路打断,让你感觉敲代码像是搬砖,并且代码一多会使代码的可读性大打折扣,这可不好,你总不能说,这段代码真差,结果一查,是你一个月前写的。
相关文章:
给你两个集合,要求{A} + {B}
先看题: 看完题后你会觉得:哇,好简单,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;…...
Java获取实时摄像头进行拍照(附源码)
一、导言 1、引言 Java是一种通用编程语言,可以用来开发各种类型的应用程序,包括涉及图像处理和相机操作的应用程序。 要在Java中获取实时摄像头进行拍照,通常会借助一些第三方库或API,例如OpenCV(Open Source Compute…...
Kafka入门
1. Kafka简介 Apache Kafka 是LinkedIn公司开发的一款开源的高吞吐、分布式的消息队列系统,它具有高伸缩性、高可靠性和低延迟等特点,因此在大型数据处理场景中备受青睐。Kafka 可以处理多种类型的数据,如事件、日志、指标等,广泛…...
异地恋的甜蜜解药:李哥的群晖Videostation电影分享教程
异地恋的甜蜜解药:李哥的群晖Videostation电影分享教程 文章目录 异地恋的甜蜜解药:李哥的群晖Videostation电影分享教程1.使用环境要求2.制作视频分享链接3.制作永久固定视频分享链接 李哥和他的女朋友是一对甜蜜的情侣,但不幸的是ÿ…...
JSON数据获取指南!
在互联网时代,数据是金钱的来源。然而,要从海量的网页中提取需要的数据并不容易。本文将带你了解如何使用Node.js编写简易爬虫程序,帮助你轻松获取并处理JSON数据,让你不再为数据发愁。 一、准备工作 安装Node.js:确保…...
ASCII码-对照表
ASCII 1> ASCII 控制字符2> ASCII 显示字符3> 常用ASCII码3.1> 【CR】\r 回车符3.2> 【LF】\n 换行符3.3> 不同操作系统,文件中换行 1> ASCII 控制字符 2> ASCII 显示字符 ASCII(American Standard Code for Information Interc…...
点餐小程序的制作流程详解
随着移动互联网的发展,越来越多的消费者开始使用手机进行点餐,这也促使了点餐小程序的兴起。如果您是一位商家,想要开发一个属于自己的点餐小程序,那么不妨尝试一下以下的DIY教程吧! 首先,我们需要找一个专…...
Python应用程序:从Android日志到Excel文件的智能过滤和输出
import json import subprocess import re import openpyxldef logcat(excel_path, check_re):"""查看 安卓手机日志信息:param excel_path: excel的路径信息,标题行字段:param check_re: 过滤当前日志的正则表达式(之后记得优化…...
C++常见面试题汇总
C++常见面试题汇总: C++中的指针和引用有什么区别?什么是C++中的多态?如何实现?C++中的析构函数有什么作用?什么是构造函数链?C++中如何进行内存管理?什么是作用域?C++中的作用域限定符有哪些?什么是预处理指令?C++中常见的预处理指令有哪些?什么是头文件?头文件中…...
redis缓存穿透问题
缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库 常见的解决办法: 缓存空对象:第一次请求发现redis和数据库中都不存在时,,可以设置请求数据为key,null为值,放置在缓存中. 但是会有一个问题,就是如果此类请求过多,会导…...
学生宿舍管理系统(前端java+后端Vue)实现-含前端与后端程序
界面介绍 登录 ###宿舍管理 ###菜单管理 ###角色管理 ###班级管理...
codesys【网桥】
作用:在串联的路由器上,实现PC2访问PC1 实现无线编程 和PLC【web】 1硬件连接: 2软件设置: 1网卡设置自动ip 2厂家软件连接到模块...
JS生成随机字符串的多种方法
<script language"javascript"> function randomString(len) {len len || 32;var $chars ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678; /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/var maxPos $chars.length;var pwd ;for (i 0; i &l…...
多维时序 | MATLAB实现GWO-BP多变量时间序列预测(灰狼算法优化BP神经网络)
多维时序 | MATLAB实现GWO-BP多变量时间序列预测(灰狼算法优化BP神经网络) 目录 多维时序 | MATLAB实现GWO-BP多变量时间序列预测(灰狼算法优化BP神经网络)效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.MATLAB实现GWO-BP多变量时间序列预测(灰狼算法优化BP神经网络)&…...
PyTorch中的pyi檔案生成機制
PyTorch中的pyi檔案生成機制 前言pyi檔由py生成pyi.in由pyi.in生成pyitorch/CMakeLists.txttools/pyi/gen_pyi.pygen_pyinative_functionsrand.names & rand.names_outrand.generator_with_names & rand.generator_with_names_outrandrand.generatorrand.outran…...
GeoServer运行报错503,……Unmapped relationship: 7
Windows11运行GeoServer-2.19.0报错[org.geoserver.system.status.OSHISystemInfoCollector]……Unmapped relationship: 7 问题说明解决方法 问题说明 最近换了新电脑,在电脑上安装了一个geoserver2.19.0版本,但是运行就是报错,虽然最后提示…...
uniapp ui安装 阿里图标库使用 报错 Assignment to constant variable.
安装 ui uni-app官网 (dcloud.net.cn) (一)安装 pages.js配置 安装 sassnpm i sass -D 或 yarn add sass -D 安装 sass-loader npm i sass-loader10.1.1 -D 或 yarn add sass-loader10.1.1 -D安装 uni-uinpm i dcloudio/uni-ui 或 yarn a…...
Spring IOC容器实例化Bean整体流程图
SpringBean实例化的基本流程-CSDN博客 Spring容器中的BeanDefinitionReader读取器,读取xml配置文件,解析每一个bean标签,将bean标签中信息封装到BeanDefinition对象中,该对象的集合存储到BeanDefinitionMap中,然后Spri…...
【挑战开发100个项目 | 2. C语言图书管理系统】
本项目是一个基于C语言的简单图书管理系统,用户可以通过命令行界面实现图书的添加、删除、修改、查找以及列出所有图书的功能。适用于初学者学习c语言,也适用于高校学生课程设计,毕业设计参考。 一,开发环境需求 操作系统 &#x…...
二刷力扣--二叉树(2)
226.翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 使用递归解决。 确定函数参数和返回值 函数参数为当前节点cur。无返回值。 def dd(cur):确定终止条件。当前节点为空则终止。 if not cur:return 单层逻辑 反转当前…...
Magisk系统权限架构深度解析:Android设备Root权限优雅解决方案
Magisk系统权限架构深度解析:Android设备Root权限优雅解决方案 【免费下载链接】Magisk The Magic Mask for Android 项目地址: https://gitcode.com/GitHub_Trending/ma/Magisk Magisk作为Android系统权限管理领域的革命性工具,通过独特的系统化…...
dll修复工具绿色版免安装,2026年最新版实测与风险提示
正急着用电脑,突然弹窗“缺少dll文件”,游戏或软件打不开。第一反应就是赶紧找个工具修好它,但又不想在电脑上装一堆乱七八糟的软件,就想找个绿色版、免安装的,用完就能删,不留痕迹。但网上这种小工具满天飞…...
3个强力功能解决微信聊天记录永久保存难题的完整指南
3个强力功能解决微信聊天记录永久保存难题的完整指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg 你…...
Qwen3-ASR-0.6B在新闻行业的应用:采访录音快速转写
Qwen3-ASR-0.6B在新闻行业的应用:采访录音快速转写 1. 引言 新闻记者每天都要面对大量的采访录音,传统的手工转写方式耗时耗力。一段30分钟的采访录音,熟练的转录员可能需要2-3小时才能完成转写,而且还要面对口音、专业术语、背…...
SQL注入的分类靶场实践
SQL注入的分类靶场实践 前言 SQL 注入(SQL Injection)是一种常见且危险的 Web 安全漏洞,攻击者通过在输入字段中插入恶意 SQL 代码,能够绕过应用程序的验证机制,直接操纵数据库。本文将介绍 SQL 注入的分类ÿ…...
BGE Reranker-v2-m3开发者案例:为LangChain添加本地重排序节点的5步集成法
BGE Reranker-v2-m3开发者案例:为LangChain添加本地重排序节点的5步集成法 1. 项目背景与核心价值 在构建检索增强生成(RAG)系统时,文本相关性排序是决定最终效果的关键环节。传统的基于向量相似度的检索往往无法准确捕捉查询与…...
深度学习项目训练环境多场景落地:自动驾驶小车图像识别项目快速启动
深度学习项目训练环境多场景落地:自动驾驶小车图像识别项目快速启动 你是不是也遇到过这样的问题?想跑一个深度学习项目,光是配环境就花了大半天,各种版本冲突、依赖报错,好不容易装好了,一运行又提示缺这…...
Cadence Virtuoso仿真避坑指南:从网表生成到FFT分析的20个常见错误解决方案
Cadence Virtuoso仿真避坑指南:从网表生成到FFT分析的20个常见错误解决方案 在集成电路设计领域,Cadence Virtuoso作为行业标准工具链的核心组件,其仿真功能的正确使用直接关系到设计效率与结果可靠性。本文将系统梳理从网表生成到FFT分析全流…...
Loop:让Mac窗口管理效率倍增的效率神器
Loop:让Mac窗口管理效率倍增的效率神器 【免费下载链接】Loop MacOS窗口管理 项目地址: https://gitcode.com/GitHub_Trending/lo/Loop 你是否也曾在多任务处理时,被杂乱无章的窗口搞得焦头烂额?切换应用时总要在一堆窗口中寻找目标&a…...
遥感图像质量评价实战:用imgvision 1.7.3计算SAM、ERGAS等指标(附Python代码)
遥感图像质量评估实战:从理论到代码的完整指南 遥感图像处理是地理信息系统、环境监测和农业估产等领域的关键技术。当我们对高光谱图像进行压缩、融合或重建时,如何客观评价处理后的图像质量?本文将深入探讨五种核心评价指标(SAM、PSNR、MSE…...
