# Two ways to solve binary search

Покажу решение и коротко сравню его с альтернативным подходом.

## Задача

Дан отсортированный список чисел `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://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [Покажу](https://sway.cloud.microsoft/MEoXL7FH59kBZKwL) · [середина](https://hey.xyz/posts/qh232a9y8amrrshb7) · [задачи](https://saminupss.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/sarm-koupit-f077ae.pdf) · [между](https://articlescad.com/zona-mae-nude-videos-376915.html) · [логарифмическая](https://paper.wf/juliaschulz81log/maddie-phillips-sex-scenes-nude-pics-and-onlyfans-leaks) · [времени](https://kappa.lol/4pvXpA) · [arr[mid](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/jellybeanbrains-leaks-twitter-9d5290.pdf) · [иначе](https://akarinote.net/scarletsilva+xxx?f=instapaper) · [ручной](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/fiammisxagain-porn-f7e45b.pdf) · [target](https://paper.wf/julia1982log/snapgod-lizzy) · [сравню](https://wuchu-pub.com/uploads/20261015/a4fddb2a74b2551aca87fae060fa3c7f.pdf) · [сравнить](https://drop.xtrafrancyz.net/selif/ql8e1mt4l7.pdf) · [альтернативным](https://articlescad.com/roman-and-sharon-onlyfans-photos-and-social-updates-377353.html) · [задачу](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/ariaaax-fecb9b.pdf) · [поиска](https://openesb-dev.org/casualmeowvr?f=linkcentre) · [Отсюда](https://statics.pancake.vn/web-media-264/61/35/ac/81/f307acb4b63de91eb514807b0f45f5edaa0f335a018c6821c0f3b9cd.pdf) · [например](https://ecency.com/@petrhajek9945/post-bced84) · [list[int](https://paper.wf/sofiawolf77log/sarem-uysal-ifsa) · [вернуть](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [лучше](https://statics.pancake.vn/web-media-264/03/75/f4/44/e0c07a68abdfc2790724f0d6ad41b8034227e98868648900d58e53f7.pdf) · [меньше](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [важнее](https://drop.xtrafrancyz.net/selif/oxzfbuca56.pdf) · [return](https://privatebin.devol.it/?2cb85bbd40d11a76#Akxb8UTdPdemg63uJS43MjxcpNzAxMeB7LH1WpKfK1c8) · [подходом](https://gellaryforum.freeflarum.com/d/28318-28318-mariana-echeverri-onlyfans-gratis) · [тестах](https://gellaryforum.freeflarum.com/d/28298-28298-fuuka-stripchat-videos-and-webcam-shows-free-live-sex-chat) · [Пример](https://gellaryforum.freeflarum.com/d/28393-28393-teens-with-saggy-tits) · [читаемости](https://articlescad.com/shotastic-porn-comics-gallery-with-100-pages-of-hentai-and-hardcore-scenes-376979.html) · [скорости](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/sarem-uysal-if-a-fe17bf.pdf)

