Python Noções básicasFácil

Classifique a primeira metade em ordem crescente e a segunda metade em ordem decrescente

Guia detalhado e implementação de Python para o problema 'Classificar a primeira metade em ordem crescente e a segunda metade em ordem decrescente'.

Declaração do problema

Fácil

Escreva uma função sort_half(arr) que pegue uma lista de inteiros e retorne uma nova lista onde a primeira metade é classificada em ordem crescente e a segunda metade é classificada em ordem decrescente. Se o array tiver comprimento ímpar, o elemento do meio pertence à primeira metade. Por exemplo, para comprimento 5, os primeiros 3 elementos são classificados em ordem crescente e os 2 últimos são classificados em ordem decrescente.

Restrições
  • 1 <= len(arr) <= 10^5
  • -10^9 <= arr[i] <= 10^9

Exemplos

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?
Considere usar estruturas de dados específicas de arrays, como conjuntos ou heaps.
Edge Cases to Watch
  • Estruturas de entrada vazias
  • Entradas de elemento único
  • Grandes limites numéricos

Pronto para resolver?

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

Abrir no 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

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.