min heap: PriorityQueue (natural order)
for top k problems:
max heap can be replaced using min heap keep a size of k