Итак, у вас есть n отсортированных массивов (не обязательно одинаковой длины), и вы должны вернуть k-й наименьший элемент в объединенном массиве (т.е. объединенный массив, образованный путем слияния всех отсортированных массивов n)
Я уже давно это пробовал и другие варианты, и до сих пор я чувствую себя комфортно только в том случае, когда есть два массива одинаковой длины, и отсортированы, и нужно вернуть медиану этих двух. Это логарифмическая временная сложность.
После этого я попытался обобщить его на поиск k-го наименьшего из двух отсортированных массивов. Здесь - вопрос о SO. Даже здесь данное решение не очевидно для меня. Но даже если мне как-то удастся убедить себя в этом решении, мне все еще любопытно, как решить абсолютный общий случай (это мой вопрос)
Может кто-нибудь объяснить мне пошаговое решение (которое, опять же, на мой взгляд, должно логарифмически меняться, то есть O (log (n 1) + log (n 2))... + log (n N), где n 1, n 2... n N - это длины n массивов), которая начинается с более конкретных случаев и переходит к более общей?
Я знаю, что подобные вопросы для более конкретных случаев существуют по всему Интернету, но я не нашел убедительного и ясного ответа.
Здесь есть ссылка на вопрос (и его ответ) на SO, который посвящен 5 отсортированным массивам и нахождению медианы объединенного массива. Ответ просто становится слишком сложным для меня, чтобы его обобщить.
Приветствуются даже чистые подходы к более конкретным случаям (как я упоминал во время публикации).
PS: Считаете ли вы, что это может быть дополнительно обобщено на случай несортированных массивов?
PPS: Это не домашняя проблема, я просто готовлюсь к интервью.