Wettbewerbsfähige ProgrammierungEinfach

Suche in einem fast sortierten Array

Detaillierte Anleitung und Python-Implementierung für das Problem „Suche in fast sortiertem Array“.

Problemstellung

Einfach

Schreiben Sie eine Funktion search_almost_sorted(arr, target), die nach einem target-Wert in einem fast sortierten Array arr sucht. Ein fast sortiertes Array ist ein Array, in dem ein Element, das sich in einem vollständig sortierten Array am Index i befinden sollte, stattdessen am Index i-1, i oder i+1 sein kann. Gibt den 0-basierten Index des Ziels zurück, falls gefunden, andernfalls wird -1 zurückgegeben.

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

Beispiele

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?
Erwägen Sie die Verwendung von Such- und Sortier-spezifischen Datenstrukturen wie Mengen oder Heaps.
Edge Cases to Watch
  • Leere Eingabestrukturen
  • Einzelelementeingaben
  • Große numerische Grenzen

Bereit zur Lösung?

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

Im Editor öffnen
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

Empfohlene Python-Ressourcen

Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.