当前位置: 首页 > news >正文

Day8 判断集合成员 -卡码网C++基础课

题目链接:判断集合成员

题目描述

请你编写一个程序,判断给定的整数 n 是否存在于给定的集合中。

输入描述

有多组测试数据,第一行有一个整数 k,代表有 k 组测试数据。
每组数据第一行首先是一个正整数 m,表示集合中元素的数量(1 <= m <= 1000)。 
接下来一行包含 m 个整数,表示集合中的元素。 
最后一行包含一个整数 n,表示需要进行判断的目标整数。

输出描述

包含多组输出,每组输出占一行。 
如果集合中存在 m,输出“YES”,否则输出“NO”。

输入示例

2
5
1 2 3 4 5
3
6
1 2 3 4 5 6
7

输出示例

YES
NO
点击查看代码
#include<iostream>
#include<unordered_set>
using namespace std;
int main(){int k, m, val, n;cin >> k;while(k--){cin >> m;unordered_set<int> uset;while(m--){cin >> val;uset.insert(val);}cin >> n;if(uset.find(n) != uset.end()) cout << "YES" << endl;else cout << "NO" << endl;}
![1000003447](https://img2024.cnblogs.com/blog/3743136/202512/3743136-20251222005934276-1095527068.png)return 0;
}
小结

题目思路

建立无序集合 unordered_set<int> uset;
将数插入集合
通过 if(uset.find(n) != uset.end())判断是否集合成员

知识点

集合

1000003447

头文件#include <unordered_set>#include <set>建立集合unordered_set<int> mySet;set<int> mySet;multiset<int> myMultiSet;方法insert()erase()find() //find() 方法用于查找特定元素是否存在于集合中。//如果找到了,返回指向元素的迭代器,如果不存在,则最终指向end()的迭代器//通过与返回值对比,判断是否在集合中//if (uset.find(n) != uset.end()) 

迭代器(iterator)

迭代器iterator提供了一种类似指针的接口
可以用来遍历访问容器(比如数组、集合)中的元素,并执行各种操作。迭代器都拥有名为begin()和end()的成员
表示指向第一个元素和最后一个元素的下一个元素的迭代器
如果容器为空,则begin和end返回的是同一个迭代器可以使用比较运算符来判断两个迭代器是否相等
如果迭代器想要从一个元素移动到另外一个元素,可以使用递增++运算符和递减--运算符通过解引用*可以获取迭代器所指的对象
http://www.jsqmd.com/news/120689/

相关文章:

  • Excalidraw网格与参考线:辅助精确定位
  • opencv和摄影测量坐标系的转换
  • Excalidraw直线箭头样式:多种类型任你选
  • 【开源免费】基于 STM32的远程环境监测系统(环境数据的实时感知与远程监测)
  • ExcalidrawAPI文档配图:接口调用流程展示
  • Excalidraw商业模式画布:创业团队战略讨论
  • aws 配置导出的SSL证书
  • Excalidraw家庭教育计划:孩子成长路径设计
  • Excalidraw思维导图玩法:结构化思考新工具
  • CSAPP 异常控制流
  • 基于Java+SpringBoot+SSM高校科研管理系统(源码+LW+调试文档+讲解等)/高校科研管理平台/高校科研信息管理系统/高校科研项目管理系统/高校科研成果管理系统/高校科研数据管理系统
  • 3.7 分段 Segmentation
  • Excalidraw常见问题汇总:官方FAQ精华整理
  • 从人到人机再到人机环境:东西方思想的融合
  • 近两百万人围观的Karpathy年终大语言模型清单,主角是它们
  • Excalidraw鱼骨图绘制:根本原因分析法实践
  • Excalidraw暗黑模式设置:夜间使用的护眼方案
  • Excalidraw与AI结合前景:未来功能演进预测
  • 分层模糊系统:梯度下降与递推最小二乘法联合辨识研究(Matlab代码实现)
  • Excalidraw用户体验监控:前端性能指标采集
  • Excalidraw类图绘制:面向对象设计辅助
  • 远程连接内网服务器
  • Excalidraw构建流程分析:Webpack/Vite打包配置
  • 基于Spring Boot技术的数字乡村农作物智慧管理系统设计毕设
  • 【自动驾驶基础】LDM(Latent Diffusion Model) 要点总结
  • Linux中级の配置四层负载均衡(Nginx做的假四层)
  • ExcalidrawOKR目标看板:团队目标对齐工具
  • Excalidraw网格与参考线设置:提升对齐精度
  • 【电力系统】采用有源电力滤波器抑制谐波研究(Simulink仿真实现)
  • PyTorch中通过设置随机种子使训练结果可复现