hackerrank>Dashboard>C++>STL>Sets-STL

Sets are a part of the C++ STL. Sets are containers that store unique elements following a specific order. Here are some of the frequently used member functions of sets:

  • Declaration:

    set<int>s; //Creates a set of integers.
    
  • Size:

    int length=s.size(); //Gives the size of the set.
    
  • Insert:

    s.insert(x); //Inserts an integer x into the set s.
    
  • Erasing an element:

    s.erase(val); //Erases an integer val from the set s.
    
  • Finding an element:

    set<int>::iterator itr=s.find(val); //Gives the iterator to the element val if it is found otherwise returns s.end() .
    Ex: set<int>::iterator itr=s.find(100); //If 100 is not present then it==s.end().
    

    To know more about sets click Here. Coming to the problem, you will be given queries. Each query is of one of the following three types:

    : Add an element to the set.
    : Delete an element from the set. (If the number is not present in the set, then do nothing).
    : If the number is present in the set, then print "Yes"(without quotes) else print "No"(without quotes).

Input Format

The first line of the input contains where is the number of queries. The next lines contain query each. Each query consists of two integers and where is the type of the query and is an integer.

Constraints



Output Format

For queries of type print "Yes"(without quotes) if the number is present in the set and if the number is not present, then print "No"(without quotes).
Each query of type should be printed in a new line.

Sample Input

8
1 9
1 6
1 10
1 4
3 6
3 14
2 6
3 6

Sample Output


Yes
No
No

1.存入一个数,2.删除一个数,3.查找是否存在某个数

#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
#include <map>
#include <set>
#define MAX 1e9+8
using namespace std;
int main()
{
    int N;
    while(~scanf("%d",&N))
    {
        set<int>myset;
        int n,m;
        string s[2]={"No","Yes"};
        while(N--)
        {
            cin>>n>>m;
            if(n==1)
            myset.insert(m);
            if(n==2)
            myset.erase(m);
            if(n==3)
            cout<<s[myset.count(m)]<<endl;
        }
    }
    return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值