N が配列の長さである 0 から N-1 のオフセットを持つ並べ替えられた数値の配列があるとします。以下に示すように、完全にソートされた配列には 0 ゼロオフセットがあります
[1, 2, 4, 11, 15, 19, 26]
[19, 26, 1, 2, 4, 11, 15]
小さい方の数が 2 番目のインデックスから始まり、最初のインデックスにラップアラウンドするため、配列のオフセットは 2 です。
割り当ての問題は、配列内の数値のインデックスを見つける方法です。ソートされた配列の場合、解決策は明らかにインデックスを見つけるためのバイナリ検索です(再帰の有無にかかわらず)。
オフセットのある配列内の数値のインデックスを見つけるにはどうすればよいですか? オフセットは不明です。解決策の概要を知りたいので、慣れ親しんだ言語で実装してみます。