Python GrundlagenEinfach

Sortieren Sie die erste Hälfte aufsteigend und die zweite Hälfte absteigend

Detaillierte Anleitung und Python-Implementierung für das Problem „Erste Hälfte aufsteigend und zweite Hälfte absteigend sortieren“.

Problemstellung

Einfach

Schreiben Sie eine Funktion sort_half(arr), die eine Liste von Ganzzahlen nimmt und eine neue Liste zurückgibt, wobei die erste Hälfte in aufsteigender Reihenfolge und die zweite Hälfte in absteigender Reihenfolge sortiert ist. Wenn das Array eine ungerade Länge hat, gehört das mittlere Element zur ersten Hälfte. Beispielsweise werden für die Länge 5 die ersten 3 Elemente aufsteigend und die letzten 2 absteigend sortiert.

Einschränkungen
  • 1 <= len(arr) <= 10^5
  • -10^9 <= arr[i] <= 10^9

Beispiele

Example 1
Input
arr = [5, 2, 8, 1, 4, 7]
Output
[1, 2, 5, 8, 7, 4]
Explanation

First half [5,2,8] sorted ascending: [1,2,5]. Second half [1,4,7] sorted descending: [8,7,4]. Wait — we split the original array: first 3 elements [5,2,8] sort ascending -> [2,5,8], last 3 [1,4,7] sort descending -> [7,4,1]. Result: [2,5,8,7,4,1].

Example 2
Input
arr = [3, 1, 2, 5, 4]
Output
[1, 2, 3, 5, 4]
Explanation

First half (3 elements) [3,1,2] sorted ascending: [1,2,3]. Second half (2 elements) [5,4] sorted descending: [5,4]. Result: [1,2,3,5,4].

Example 3
Input
arr = [9, 3, 6, 1]
Output
[3, 9, 6, 1]
Explanation

First half [9,3] ascending: [3,9]. Second half [6,1] descending: [6,1]. Result: [3,9,6,1].

Need a Hint?
Erwägen Sie die Verwendung von Array-spezifischen Datenstrukturen wie Sets 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.