时间限制:2.000S 空间限制:128MB
题目描述
请你编写一个程序,判断给定的整数 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;//k组测试数据,m代表需要集合的数量
cin >> k;
int n,val;
while(k--)
{
cin >> n;
unordered_set<int> uset;//创建一个无序集合
while(n--)
{
cin >> val;
//将数据放入set中
uset.insert(val);
}
cin >> m;//接受集合的数据
//使用find方法查看m是否在set里
if(uset.find(m) != uset.end())
{
cout << "YES" <<endl;
}
else cout << "NO" << endl;
}
return 0;
}