150 najlepszych wywiadówŁatwe

Wyszukiwanie binarne

Szczegółowy przewodnik i implementacja Python dla problemu „Wyszukiwanie binarne”.

Oświadczenie o problemie

Łatwe

Mając tablicę liczb całkowitych nums posortowaną rosnąco oraz liczbę całkowitą target, napisz funkcję przeszukującą target w nums. Jeśli istnieje target, zwróć jego indeks. W przeciwnym razie zwróć -1.

Musisz napisać algorytm o złożoności czasu wykonania O(log n).

Napisz funkcję search(nums: List[int], target: int) -> int.

Ograniczenia
  • 1 <= len(nums) <= 10^4
  • -10^4 < nums[i], target < 10^4
  • All integers in nums are unique
  • nums is sorted in ascending order

Przykłady

Example 1
Input
nums = [-1, 0, 3, 5, 9, 12], target = 9
Output
4
Explanation

9 exists in nums and its index is 4.

Example 2
Input
nums = [-1, 0, 3, 5, 9, 12], target = 2
Output
-1
Explanation

2 does not exist in nums so return -1.

Need a Hint?
Rozważ użycie struktur danych specyficznych dla wyszukiwania binarnego, takich jak zestawy lub sterty.
Edge Cases to Watch
  • Puste struktury wejściowe
  • Wejścia jednoelementowe
  • Duże granice liczbowe

Gotowy do rozwiązania?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Otwórz w Edytorze
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Polecane zasoby Pythona

Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.