Search in Rotated Sorted Array(回転ソート配列の検索)
Search in Rotated Sorted Array(回転ソート配列の検索)とは
途中で回転された昇順配列からtargetの位置を探す課題です。
配列全体が単純な昇順でなくても、局所的な順序を使って二分探索できます。
判断するときに確認すること
- どちら側が整列済みか判定できるか
- targetが境界値の場合を含めているか
- 探索範囲が必ず狭くなるか
具体例で整理する
避けたい判断
回転位置を無視して通常の二分探索を行う。
条件が分かる判断
整列済みの範囲にtargetが含まれるか確認して、残す側を決める。
設計とレビューで使う
このページの推奨は次のとおりです。
中央を見て左右どちらが整列済みか判定し、targetを含む側へ探索範囲を絞る。