binary_search(arr, target) を自分で実装しよう(見つかればインデックス、無ければ -1 を返す)。複数のケースで自動テストされ、全部通れば合格!真ん中の値 == 目標 → 見つかった真ん中の値 < 目標 → 右半分を探す(left = mid + 1)真ん中の値 > 目標 → 左半分を探す(right = mid - 1)O(n))より圧倒的に速く(O(log n))見つけられます。100万件でも約20回で探せます。並べ替え済みデータの検索や範囲検索で使われる、効率を学ぶ王道アルゴリズムです。mid = (left + right) // 2 が真ん中の位置すべてのテストに合格!
全問正解でクエストクリア!
問題 1: binary_search で [2, 4, 6, 8, 10] から 8 を探してインデックスを表示しよう!
問題 2: binary_search で [1, 2, 3, 4, 5] から 6 を探して -1 が返ることを確認して表示しよう!
問題 3: bisect モジュールを使って [1, 3, 5, 7, 9] に 5 を挿入する位置を表示しよう!