monotonically増加するシーケンスの最大値または最小値を見つけることは、O(log n)で実行できます。moncerically増加してからsequenceceraを減らす数を見つける
しかし、このようなシーケンスに数値が存在するかどうかを確認したい場合は、これもO(log n)で行うことができますか?
私はそれが可能ではないと思います。この例を考えてみましょう:1 4 5 6 7 10 8 3 2 0
この例では、シーケンスに '2'が含まれているかどうかを調べる必要がある場合、検索スペースを半分に分割する条件はありません元の検索スペース最悪の場合は、O(n)になります.2つの検索を行うときに、両方の半分を確認する必要があります。
この検索がO n)時間?
上記の例では、上記の手順を2回実行してください。 O(logn) – vamsi
Hmmmの解を導出する。ここでの問題は、O(logn)の最大値を求めることである。残りはあなたが言及した通りです –
@AndyStowAway私はこれが(OPに)明らかだったと思いました。私の答えを編集しました。 – Henrik