Как найти наибольшее число в массиве, составленном из отсортированного по возрастанию массива и отсортированного по убыванию массива - PullRequest
0 голосов
/ 08 апреля 2020

для массива, подобного [1, 2, 4, 6, 8, 7, 5], как нам эффективно найти наибольшее число в нем? Мы знаем, что первая часть массива - это 1, 2, 4, 6,, который отсортирован по возрастанию, а вторая часть - 8, 7, 5, который является отсортированным по убыванию.

Простым решением будет итерация по массиву, но, учитывая, что массив состоит из двух отсортированных массивов, я бы предположил, что поиск может быть выполнен с помощью некоторой разновидности двоичного поиска для достижения сложности o(logn) времени выполнения. Однако я не могу придумать решение.

1 Ответ

2 голосов
/ 08 апреля 2020

То, что вы запрашиваете, эквивалентно нахождению «пика» массива. Вот логарифмическое c время решение проблемы

...