You are given a binary tree. For each level of the binary tree, find the floor value of the average of every node in the tree.
Example:-For the given binary tree: [1, 2, 3, -1, -1, 4, 5, -1, -1, -1, -1]
Start Node: 3
1
/ \
2 3
/ \
4 5
The answer should be [1,2,4] because level 1 has an average of 1(AVERAGE of 1), level 2 has an average of 2 (floor value) (AVERAGE of 2 and 3) and level 2 has an average of 4 (floor value) (AVERAGE of 4 and 5).
The first line contains a single integer ‘T’ representing the number of test cases. Then each test case follows.
The first line of each test case contains elements of the tree in the level order form. The line consists of values of nodes separated by a single space. In case a node is null, we take -1 in its place.

For example, the input for the tree depicted in the above image would be :
1
2 3
4 -1 5 6
-1 7 -1 -1 -1 -1
-1 -1
Explanation :
Level 1 :
The root node of the tree is 1
Level 2 :
Left child of 1 = 2
Right child of 1 = 3
Level 3 :
Left child of 2 = 4
Right child of 2 = null (-1)
Left child of 3 = 5
Right child of 3 = 6
Level 4 :
Left child of 4 = null (-1)
Right child of 4 = 7
Left child of 5 = null (-1)
Right child of 5 = null (-1)
Left child of 6 = null (-1)
Right child of 6 = null (-1)
Level 5 :
Left child of 7 = null (-1)
Right child of 7 = null (-1)
Note:
The above format was just to provide clarity on how the input is formed for a given tree.
The sequence will be put together in a single line separated by a single space.
Hence, for the above-depicted tree, the input will be given as:
1 2 3 4 -1 5 6 -1 7 -1 -1 -1 -1 -1 -1
Output Format :
For each test case, print ‘H’ integers denoting the average value of all the nodes for a particular level where 'H' is the height of the tree given.
The output of each test case should be printed in a separate line.
Note :
You are not required to print anything, it has already been taken care of. Just implement the function.
1 <= T <= 5
1 <= N (Number of Nodes) <= 10^5
1 <= VALUE of the nodes <= 10^9
Time Limit = 1 sec
2
1 2 3 4 -1 -1 5 -1 -1 -1 -1
1 1 1 -1 -1 -1 -1
1 2 4
1 1
In the first test case, the tree looks like this:-

So, the levels have an average value of 1, 2, and 4.
In the second test case, the tree looks like this:-

So, the levels have an average value of 1 and 1.
1
3 1 2 -1 -1 -1 -1
3 1
Iterate through the nodes level-wise.
Run a breadth-first search and iterate through the levels order-wise and store the sum and number of nodes for every level. In the end, divide the sum of nodes of all the levels by the number of nodes for each level and print the answer.
Algorithm:-
O(N), where N is the number of nodes.
We are iterating through ‘N’ nodes once, so the time complexity is O(N).
O(N),
We are using an auxiliary array to store the sum and number of nodes for each level and the number of levels can grow up to ‘N’, so the space complexity is O(N).