Design a data structure that stores a mapping of a key to a given value and supports the following operations in constant time.
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.
Operations Performed :
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.
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
Sample Output 1 :
3 1 qwerty 35 1 qwerty 50 5
Explanation Of Sample Input 1 :
Sample Input 2 :
1 operation: We need to insert 'qwerty' with a value of 35. 2 operation: We need to insert 'qwerty' with a value of 50. 3 operation: We need to return the size of HashMap. So, We will return 1.
Sample Output 2 :
6 1 code 9 3 code 2 code 3 code 5 6
true false 0 true