Sobes.tech
Middle+
51

# Թե՞վը նկարագրություն # Տվյալ է աճման կարգով դասավորված ամբողջ թվերի հաջորդականություն: # Պետք է իրականացնել ֆունկցիա, որը կիրականացնի բինար որոնում այդ հաջորդականության մեջ: # Ֆունկցիան պետք է: # 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