Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- A step-by-step look at 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) по памяти.
- Разбор по шагам
- 1. Шаг 1. Входные данные. Проверяем, что приходит в функцию, и какие значения считаются корректными.
- 2. Шаг 2. Основной цикл. Именно здесь происходит вся работа; следим за изменениями переменных на каждой итерации.
- 3. Шаг 3. Результат. Убеждаемся, что возвращаемое значение соответствует условию задачи, включая крайние случаи.
- Когда каждый шаг понятен, доработка решения перестаёт быть лотереей.
- View Full Gallery → https://go.cbrop.com/prse
- Related:
- https://jaflysilve.freeflarum.com/d/14769-14769-totally-tulla-naked-nude-pics-and-explicit-videos
- https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/11/fantasy-patrol-9e223b.pdf
- https://marieroux423.overblog.fr/2026/11/saijaku-no-bahamut-hentai.html
- https://pastebin.com/ZeRzZueP
- https://paste2.org/K983zhpY
Advertisement
Add Comment
Please, Sign In to add comment