Sobes.tech
Middle+
30

# Тасвиртама иши # Өсүүчү тартипте жайгашкан бүтүн сандардын тизмеси берилген. # Бул тизмеде элементти бинардык издөө аркылуу табуу функциясын ишке ашыруу керек. # Функция төмөнкүлөрдү жасашы керек: # 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