Python Dasar-dasarMudah

Urutkan bagian pertama secara menaik dan bagian kedua secara menurun

Panduan terperinci dan implementasi Python untuk masalah 'Urutkan paruh pertama secara menaik dan paruh kedua secara menurun'.

Pernyataan Masalah

Mudah

Tulis fungsi sort_half(arr) yang mengambil daftar bilangan bulat dan mengembalikan daftar baru dengan bagian pertama diurutkan dalam urutan menaik dan bagian kedua diurutkan dalam urutan menurun. Jika array memiliki panjang ganjil, elemen tengahnya termasuk dalam paruh pertama. Misalnya, untuk panjang 5, 3 elemen pertama diurutkan menaik dan 2 elemen terakhir diurutkan menurun.

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

Contoh

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?
Pertimbangkan untuk menggunakan struktur data khusus Array seperti kumpulan atau tumpukan.
Edge Cases to Watch
  • Struktur masukan kosong
  • Masukan elemen tunggal
  • Batasan angka yang besar

Siap Memecahkannya?

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

Buka di Editor
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

Sumber Daya Python yang Direkomendasikan

Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.