Поиск максимального или минимального значения в последовательности, которая увеличивается монотонно и затем монотонно уменьшается, может быть выполнено в O (log n).
Однако, если я хочу проверить, существует ли число в такой последовательности, это также можно сделать в O (log n)?
Я не думаю, что это возможно. Рассмотрим следующий пример: 1 4 5 6 7 10 8 3 2 0.
В этом примере, если мне нужно найти, содержит ли последовательность "2", у меня нет никаких условий для разделения поискового пространства на половину исходного пространства поиска. В худшем случае это будет O (n), так как вам нужно проверить обе половины, когда мы пытаемся найти 2.
Я хотел бы знать, если этот поиск выполняется в O (log n) time?