正直言って、これはインタビューの質問でした。配列が完全にソートされていれば、バイナリ検索(O(logN))を使うことができます。しかし、現在の状態は次のとおりです。配列部分がソートされた部分であると仮定すると、特定の要素を見つける方法はありますか?
- 一部の部分はソートされていますが、他の部分はソートされていません。
- 私たちは、どの部分がソートされているのか、この部分の長さがわからない。
私はO(N)である完全アレイスキャンソリューションしか考えられませんでした。しかし、インタビュアーによると、O(logN)ソリューションがあるという。助けてください。
あなたの面接者はあなたに嘘をついていたと思います。最初の要素が最小要素である配列は、この条件を満たします(昇順を前提とします)。 O(log n)時間にこのタイプの配列の任意の要素を見つけることはできません...それらは確実に* 2つの規定のみでしたか? – mwm314
たぶん、彼はあなたが彼が間違っているという証拠を示すのを待っていたのでしょうか? –