Бинарный поиск

EasyAlgo
05:00
Лучше работает на десктопе
Binary Search

Дан отсортированный по возрастанию массив целых чисел nums и целое число target. Найдите индекс target в массиве. Если target отсутствует, верните -1.

Решение должно работать за O(log n).

Сигнатура

def binary_search(nums: list[int], target: int) -> int:

Примеры

binary_search([-1, 0, 3, 5, 9, 12], 9) → 4
binary_search([-1, 0, 3, 5, 9, 12], 2) → -1

Constraints

- 1 ≤ len(nums) ≤ 10⁴
- -10⁴ ≤ nums[i], target ≤ 10⁴
- Все элементы уникальны
- nums отсортирован по возрастанию

Примеры

Пример 1

Вход:
nums = [-1,0,3,5,9,12]
target = 9
Выход:4

Пример 2

Вход:
nums = [-1,0,3,5,9,12]
target = 2
Выход:-1

Пример 3

Вход:
nums = [5]
target = 5
Выход:0
Консоль
Нажмите Run или Ctrl+Enter для запуска