Изменения

Перейти к: навигация, поиск

Поиск k-ой порядковой статистики в двух массивах

124 байта добавлено, 23:25, 15 апреля 2015
Варианты решения
== Варианты решения ==
=== Наивное решение ===
Сольем два массива и просто возьмем элемент с индексом <tex>k - 1</tex>. Сливание будет выполнено за <tex>O(n + m)</tex>. Также данное решение требует использования дополнительной памяти.
=== Чуть менее наивное решение ===
Будем использовать два указателя, с помощью которых сможем обойти массивы не сливая их. Поставим указатели на начало каждого из массивов. Будем увеличивать на единицу тот из них, который указывает на меньший элемент. После <tex>(k - 1)</tex>-ого добавления сравним элементы, на которых стоят указатели. Меньший из них и будет ответом. Таким образом, мы получим <tex>k</tex>-ый элемент за <tex>O(k)</tex> шагов.
577
правок

Навигация