Нужна помощь, чтобы преобразовать «найти k-й наименьший из двух отсортированных массивов» в «k-й самый большой»C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Гость
 Нужна помощь, чтобы преобразовать «найти k-й наименьший из двух отсортированных массивов» в «k-й самый большой»

Сообщение Гость »


У меня есть код на C++, который находит k-й наименьший элемент двух отсортированных массивов за время O(log(m * n)). Я знаю, что это не самое оптимальное решение, и знаю, что его можно решить за O(log(min(m, n))), однако меня это пока не интересует.

Я хочу преобразовать эту функцию, чтобы она вместо этого возвращала k-й по величине элемент, и я изо всех сил пытаюсь заставить ее работать. Должно быть, нужно тщательно подправить некоторые сравнения здесь и там, но мне не удалось заставить это работать. Могу ли я получить здесь некоторую помощь?

#include #include #include #include #include использование пространства имен std; // скорость: O(log( m * n) )) // пробел: O(1) intsolveKthSmallest(vector& A, вектор& B, int k, int aStart, int aEnd, int bStart, int bEnd) { std::cout
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»