Programowanie konkurencyjneŁatwe

Szukaj w prawie posortowanej tablicy

Szczegółowy przewodnik i implementacja Python dla problemu „Wyszukiwanie w prawie posortowanej tablicy”.

Oświadczenie o problemie

Łatwe

Napisz funkcję search_almost_sorted(arr, target), która wyszukuje wartość target w prawie posortowanej tablicy arr. Prawie posortowana tablica to taka, w której element, który powinien znajdować się pod indeksem i w całkowicie posortowanej tablicy, może zamiast tego znajdować się pod indeksem i-1, i lub i+1. Jeśli zostanie znaleziony, zwróć indeks oparty na 0 celu, w przeciwnym razie zwróć -1.

Ograniczenia
  • 1 <= len(arr) <= 10^5
  • -10^9 <= arr[i], target <= 10^9
  • All elements in arr are unique.

Przykłady

Example 1
Input
search_almost_sorted([10, 3, 40, 20, 50, 80, 70], 40)
Output
2
Explanation

40 is at index 2 (which is its correct position in a fully sorted version).

Example 2
Input
search_almost_sorted([10, 3, 40, 20, 50, 80, 70], 90)
Output
-1
Explanation

90 does not exist in the array.

Need a Hint?
Rozważ użycie struktur danych specyficznych dla wyszukiwania i sortowania, 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.