Я пытаюсь найти решение для медианы из 5 отсортированных массивов. Это были вопросы интервью.
Решение, о котором я мог думать, было слияние 5 массивов, а затем найти медиану [O (l + m + n + o + p)].
Я знаю, что для 2 отсортированных массивов одинакового размера мы можем сделать это в log (2n). [путем сравнения медианы обоих массивов, а затем выбрасывания 1 половины каждого массива и повторения процесса]... Нахождение медианного может быть постоянным временем в отсортированных массивах.. так что я думаю, что это не журнал (n)?.. Какова временная сложность для этого?
1] Есть ли аналогичное решение для 5 массивов. Что делать, если массивы одинакового размера, есть ли лучшее решение?
2] Я предполагаю, что, поскольку для этого задано значение 5, было бы некоторое решение для N отсортированных массивов?
Спасибо за любые указатели.
Некоторые разъяснения/вопросы я спросил у интервьюера:
Являются ли массивы одинаковой длины
= > Нет
Я предполагаю, что будет перекрытие значений массивов
= > Да
Как упражнение, я думаю, что логика для 2 массивов не распространяется. Вот попытка:
Применяя вышеприведенную логику из 2 массивов, чтобы сказать 3 массива:
[3,7,9] [4,8,15] [2,3,9]... медианы 7,8,3
брошенные элементы [3,7,9] [4,8] [3,9].. медианные 7,6,6
бросать элементы [3,7] [8] [9]..medians 5,8,9...
throw [7] [8] [9].. median = 8... Это не кажется правильным?
Слияние отсортированных элементов = > [2,3,4,7,8,9,15] = > ожидаемая медиана = 7