One thousand(1000) elements are entered into an array (no memory constraints). As we know, while entering the elements we can update the max out of entered values by a check whe
A maximum heap may work in your case. But since 1000 is really small, you may don't need something complicated.
Create a tree structure upon the array. In each node keep the range and maximum of the subtree. On removing/inserting update the maximum in affected nodes bottom-up.
You should use max heap
data structure. The property of max-heap
is that you can get the max value in O(1)
time. Whereas each insertion and deletion will take O(log(n))
time.
For more info check here