単調に増加してから単調に減少するシーケンスの最大値または最小値を見つけることは、O(log n) で行うことができます。
ただし、そのようなシーケンスに数値が存在するかどうかを確認したい場合、これはO(log n)でも実行できますか?
私はそれが可能だとは思わない。この例を考えてみましょう: 1 4 5 6 7 10 8 3 2 0.
この例では、シーケンスに「2」が含まれているかどうかを確認する必要がある場合、検索スペースを元の検索スペースの半分に分割する条件はありません。最悪の場合、2 を検索しようとすると、両方の半分を確認する必要があるため、O(n) になります。
この検索が O(log n) 時間で行われるかどうかを知りたいですか?