# Walking through binary search (part cf59)

В этом материале мы спокойно и по шагам разберём учебную задачу на программирование.

## Задача

Дан отсортированный список чисел `arr` и число `target`. Найти его индекс или вернуть `-1`, если элемента нет.

## Решение

```python
def binary_search(arr: list[int], target: int) -> int:
    lo, hi = 0, len(arr) - 1
    while lo <= hi:
        mid = (lo + hi) // 2
        if arr[mid] == target:
            return mid
        if arr[mid] < target:
            lo = mid + 1
        else:
            hi = mid - 1
    return -1


print(binary_search([1, 3, 5, 7, 9, 11], 7))
```

## Как это работает

На каждом шаге диапазон поиска сокращается вдвое: если середина меньше цели — ищем справа, иначе слева. Отсюда и логарифмическая скорость.

## Пример работы

```text
3
```

## Сложность

O(log n) по времени, O(1) по памяти.


Такой пример хорошо закрепляется практикой — перепишите решение руками и прогоните на своих тестах.

**Читайте также:**

[тестах](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/bokep-indo-bu-guru-hijab-masih-muda-yang-81ce96.pdf) · [O(log](https://wuchu-pub.com/uploads/20261017/dfe9918e2d7853f298a62bb7b5188e61.pdf) · [решение](https://hey.xyz/posts/344skx7754z1twx6nfm) · [вдвое](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/gf-bf-viral-mms-video-d883d1.pdf) · [хорошо](https://statics.pancake.vn/web-media-264/c6/16/5a/d3/85b85364d0d322d8a98648304975b96f2b66ee01c2ceed43d06cfa03.pdf) · [arr[mid](https://maillotrugby.fr/Isaac+%26+Andrea?f=instapaper) · [логарифмическая](https://radicle.network/nodes/seed.cielago.xyz/rad%3Az3P3s4j48NTzDXnfE2eqEJL7Fwjwe/issues/6b8435f97d2f3a44d6679f887d5a0fd6207b324e) · [материале](https://rentry.co/erotik-flim-izle-930516) · [времени](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/mikayla-campino-nude-leaks-6b7932.pdf) · [len(arr](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-a34e1f.pdf) · [задачу](https://visuals17493.mataroa.blog/blog/1ab-b5-47c/) · [Пример](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [Отсюда](https://www.imagefap.com/pictures/14229551/) · [иначе](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [Такой](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-65a972.pdf) · [практикой](https://statics.pancake.vn/web-media-264/4e/a5/c1/7a/208106e5523cccacea898ddb39881e9d792cac24d7fbcdb538fd6970.pdf) · [target](https://ecency.com/@tomasruzick4961/post-0075f7) · [вернуть](https://privatebin.devol.it/?24166ecfa84bc3cf#3brEfVqh1XHU728qB8kHj46csPS8BhGJ9KYmCkkkjiPd) · [элемента](https://kappa.lol/PVpIVP) · [Найти](https://aton-center.org/mSryt+twytr?f=instapaper) · [число](https://blogfreely.net/catherine-vasilyev70/kea021-asian-gay-threesome-koume-and-frankfurt-hayashi) · [чисел](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [меньше](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/ertassla-if-a-8fa3ea.pdf)

