Обновить
0
0

Пользователь

Отправить сообщение

Там используется приоритетная очередь PriorityQueue. В конструкторе по умолчанию используется natural ordering или сортировка по возрастанию, если по-нашему. Следовательно в каком бы порядке в эту очередь не делать ставки head будет равен минимальному элементу. А так как размер кучи k, то наибольший k элемент массива.
P.s если, например, создать очередь и добавить элементы 2, 3, 1
PriorityQueue<Integer> prior = new PriorityQueue<>();
prior.add(2);
prior.add(3);
prior.add(1);

то System.out.println(prior) - выведет [1, 3, 2]
а последовательный вызов poll() - 1, 2, 3
while(!prior.isEmpty()){
System.
out.print(prior.poll());
}

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Бэкенд разработчик
Средний
От 150 000 ₽
Java Spring Framework
Java
PostgreSQL
Docker
Git
Hibernate
Apache Maven
Junit
Английский язык
Алгоритмы и структуры данных