Sobes.tech
Middle+
49

# დავალების აღწერა # მოცემულია ზრდადობით დალაგებული მთელი რიცხვების სერია. # საჭიროა იმ ფუნქციის განხორციელება, რომელიც ამ სერიაში ბინარული ძიებას განახორციელებს. # ფუნქციამ უნდა: # 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