Сначала битонный массив для этого вопроса определяется как один такой, что для некоторого индекса K
в массиве длины N
, где 0 < K < N - 1
и от 0 до K - монотонно возрастающая последовательность целых чисел, а K - N - 1 - монотонно убывающая последовательность целых чисел.
Пример: [1, 3, 4, 6, 9, 14, 11, 7, 2, -4, -9]
. Он монотонно увеличивается от 1 до 14, затем уменьшается с 14 до -9.
Предшественником этого вопроса является его решение в 3log(n)
, что намного проще. Один измененный двоичный поиск, чтобы найти индекс max, затем два бинарных поиска для 0 до K и от K + 1 до N - 1 соответственно.
Я предполагаю, что решение в 2log(n)
требует решения проблемы без нахождения индекса max. Я думал о перекрытии бинарных поисков, но помимо этого, я не уверен, как двигаться вперед.