Sobes.tech
Middle+
42

# Descrizione del problema # È fornita una sequenza di numeri interi ordinati in modo crescente. # È necessario implementare una funzione che esegua una ricerca binaria di un elemento in questa sequenza. # La funzione deve: # 1. Prendere due argomenti: # - una lista ordinata di numeri, # - un valore target da cercare. # 2. Restituire l'indice dell'elemento trovato, se presente. # 3. Restituire -1 se l'elemento non è presente nella lista. # Requisiti # - La soluzione deve essere iterativa. # - È importante rispettare la complessità O(log n). # - Il codice deve essere scritto in Python 3 e seguire i principi di pulizia del codice.

Le aziende dove è stato chiesto
devar

Risposta dell'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