Difficulty Level: Medium

Total Submissions: 2305 Accuracy:


Operations on Binary Min Heap (Function Problem)

Your task is to implement the three methods insertKey,  deleteKey,  and extractMin on a Binary Min Heap


The first line of the input contains an integer 'T' denoting the number of test cases. Then T test cases follow.
First line of each test case contains an integer Q denoting the number of queries . 

A Query Q is of 3 Types
1.  1  x  (a query of this type means to insert an element in the min heap with value x )
2.  2  x  (a query of this type means to remove an element at position x from the min heap)
3. 3  (a query like this removes the min element from the min heap and prints it ).

The second line of each test case contains Q queries seperated by space.

The output for each test case will  be space separated integers having -1  if the heap is empty else the min element of the heap from the stack. 
You are required to complete the 3 methods insertKey which takes one argument the value to be inserted , deleteKey which takes one argument the position from where element is to be deleted and extractMin which returns the minimum element in the heap .



1 4 1 2 3 1 6 2 0 3 3

2 6 - 1

In the first test case for query 
1 4      the heap will have  {4}  
1 2      the heap will be { 2 4 }
3         removes min element from heap ie 2 and prints it now heap is {4} 
1 6      inserts 6 to heap now heap is {4 6}
2 0      delete element at position 0 of heap now heap is {6}
3         remove min element from heap ie 6 and prints it  now the heap is empty {}
3         since heap is empty thus no min element exist so -1 is printed .


** For More Input/Output Examples Use 'Expected Output' option **

It is recommended to 'Compile & Test' your code before clicking 'Submit'!

Compilation/Execution Result:

Need help with your code? Please use, generate link and share the link here.