Sobes.tech
Middle+
31

# Тавсифи вазифа # Секунҷаи ададҳои бутун, ки ба таври афзоишӣ тартиб дода шудааст, дода шудааст. # Зарур аст, ки функсияи ҷустуҷӯи бинариро дар ин секунда иҷро кунед. # Функсия бояд: # 1. Ду аргумент қабул кунад: # - рӯйхати ададҳои тартибдодашуда, # - арзиши ҳадаф барои ҷустуҷӯ. # 2. Индекси элементи ёфташударо баргардонад, агар он мавҷуд бошад. # 3. -1-ро баргардонад, агар элемент дар рӯйхат набошад. # Талабот # - Ҳалли бояд такрорӣ бошад. # - Муҳим аст, ки мураккабият O(log n)-ро нигоҳ доред. # - Код бояд дар Python 3 навишта шавад ва ба принсипҳои асосии тоза кардани код ҷавобгӯ бошад.

Ширкатҳо дар куҷо пурсиданд
devar

Ҷавоб аз AI

sobes.tech AI

python from typing import List

def binary_search(arr: List[int], target: int) -> int: left, right = 0, len(arr) - 1 while left <= right: mid = left + (right - left) // 2 if arr[mid] == target: return mid elif arr[mid] < target: left = mid + 1 else: right = mid - 1 return -1

Пример использования:

arr = [1, 3, 5, 7, 9]

print(binary_search(arr, 5)) # Выведет 2

print(binary_search(arr, 6)) # Выведет -1