Skip to main content

Featured

say hello world with C++ - Solution in Hacker Rank - hackerranksolutions8

  Objective This is a simple challenge to help you practice printing to  stdout . You may also want to complete  Solve Me First  in C++ before attempting this challenge. We’re starting out by printing the most famous computing phrase of all time! In the editor below, use either  printf  or  cout  to print the string  Hello ,World!  to  stdout . The more popular command form is  cout . It has the following basic form: cout<<value_to_print<<value_to_print; Any number of values can be printed using one command as shown. The  printf  command comes from C language. It accepts an optional format specification and a list of variables. Two examples for printing a string are: printf("%s", string);   printf(string); Note that neither method adds a newline. It only prints what you tell it to. Output Format Print   Hello ,World!   to stdout. Sample Output Hello, World! Solution:- //Say Hello, ...

Sets-STL in C++ – Solution in Hacker Rank - hackerranksolutions8

 

Problem

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 Q queries. Each query is of one of the following three types:

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

Input Format :

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

Constraints :

  • 1 <= Q <= 10^5
  • 1 <= y <= 3
  • 1 <= x <= 10^9

Output Format :

For queries of type 3 print “Yes”(without quotes) if the number x is present in the set and if the number is not present, then print “No”(without quotes).
Each query of type 3 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

Solution :

//Sets-STL in C++ - Hacker Rank Solution
#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <set>
#include <algorithm>
using namespace std;


int main() 
{
    /* Enter your code here. Read input from STDIN. Print output to STDOUT */  
    /* Sets-STL in C++ - Hacker Rank Solution START */
    set <int> s;
    int N = 0, i;
    cin >> N;
    for (i = 0; i < N; i++)
    {
        int q = 0, x = 0;
        cin >> q;
        cin >> x;
        if (q == 1)
        {
            s.insert(x);
        }
        else if (q == 2)
        {
            s.erase(x);
        }
        else
        {
            set<int>::iterator itr=s.find(x);
            if (itr == s.end())
            {
                cout<<"No"<<endl;
            }
            else
            {
                cout<<"Yes"<<endl;
            }
        }
    }
    /* Sets-STL in C++ - Hacker Rank Solution END */ 
    return 0;
}

Comments