New update is available. Click here to update.

Last Updated: 14 Jul, 2020

Difficulty: Easy

```
1. INSERT(key, value): Inserts an integer value to the data structure against a string type key if not already present. If already present, it updates the value of the key with the new one. This function will not return anything.
2. DELETE(key): Removes the key from the data structure if present. It doesn't return anything.
3. SEARCH(key): It searches for the key in the data structure. In case it is present, return true. Otherwise, return false.
4. GET(key): It returns the integer value stored against the given key. If the key is not present, return -1.
5. GET_SIZE(): It returns an integer value denoting the size of the data structure.
6. IS_EMPTY(): It returns a boolean value, denoting whether the data structure is empty or not.
```

```
1. Key is always a string value.
2. Value can never be -1.
```

```
First(Denoted by integer value 1): Insertion to the Data Structure. It is done in a pair of (key, value).
Second(Denoted by integer value 2): Deletion of a key from the Data Structure.
Third(Denoted by integer value 3): Search a given key in the Data Structure.
Fourth(Denoted by integer value 4): Retrieve the value for a given key from the Data Structure.
Fifth(Denoted by integer value 5): Retrieve the size of the Data Structure.
Sixth(Denoted by integer value 6): Retrieve whether the Data Structure is empty or not.
```

```
The first line contains an integer 'N' which denotes the number of operations to be performed. Then the operations follow.
Every 'N' lines represent an operation that needs to be performed.
For the 'INSERT' operation, the input line will have three input values separated by a single space, representing the type of the operation in integer, the key inserted as a string, and the value against the key as an integer respectively.
For the rest of the operations except fifth and sixth, the input line will have two values separated by a single space, representing the type of the operation in integer and the key to be inserted as a string respectively.
For the last two operations(fifth and sixth), the input will contain a single integer, denoting only the type of operation in the integer.
```

```
For type 1 operation, you do not need to return anything.
For type 2 operation, remove the element from the data structure and don't return anything.
For type 3 operation, return true if the key is present in the data structure. Else, return false.
For type 4 operation, return the value stored against the key. If the key is not present, return -1.
For type 5 operation, return the size.
For type 6 operation, return the boolean denoting whether the data structure is empty or not.
```

```
1 <= N <= 10 ^ 5
1 <= T <= 3
1 <= V <= 10 ^ 5
Where 'T' is the type of operation and 'V' is the value of the operand.
Time Limit: 3 sec
```

SIMILAR PROBLEMS

Sort an Array According to the Relative Order of Another Array

Posted: 30 Jul, 2022

Difficulty: Moderate

The Food Inspector

Posted: 31 Jul, 2022

Difficulty: Easy

LRU Cache

Posted: 10 Sep, 2022

Difficulty: Moderate

Longest Subarray With Zero Sum

Posted: 3 Nov, 2022

Difficulty: Moderate

Maximum GCD

Posted: 8 Dec, 2022

Difficulty: Hard

Popular Interview Problems: