Python Conceptos básicosfácil

Ordenar la primera mitad ascendente y la segunda mitad descendente

Guía detallada e implementación de Python para el problema 'Ordenar la primera mitad ascendente y la segunda mitad descendente'.

Declaración del problema

fácil

Escriba una función sort_half(arr) que tome una lista de números enteros y devuelva una nueva lista donde la primera mitad esté ordenada en orden ascendente y la segunda mitad en orden descendente. Si la matriz tiene una longitud impar, el elemento del medio pertenece a la primera mitad. Por ejemplo, para una longitud de 5, los primeros 3 elementos se ordenan de forma ascendente y los 2 últimos se ordenan de forma descendente.

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

Ejemplos

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 la posibilidad de utilizar estructuras de datos específicas de matrices, como conjuntos o montones.
Edge Cases to Watch
  • Estructuras de entrada vacías
  • Entradas de un solo elemento
  • Grandes límites numéricos

¿Listo para resolver?

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

Abrir en el 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 recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.