El coro alternado
- O(n log n) · Difícil
- Plan completo
- Python
- JavaScript
- listas
- ordenar
- índices
Enunciado
Para el concierto de invierno, el director forma al coro en una sola fila y alterna las voces: primero la más grave, luego la más aguda, luego la segunda más grave, la segunda más aguda, y así hasta el centro. Escribe una función que reciba notas, una lista de enteros positivos (la nota de cada cantante; puede venir vacía y traer repetidas), y regrese una lista nueva con las notas en ese orden. Un número más chico es una voz más grave. Cada cantante sale una sola vez: si son impares, el de en medio queda al final, solo. Dos cantantes con la misma nota ocupan dos lugares en la fila.
Con [5, 1, 4, 2, 3] regresa [1, 5, 2, 4, 3]. Con la lista vacía, [].
Ejemplos
El del ejemplo
[5, 1, 4, 2, 3] → [1, 5, 2, 4, 3]
Cuatro voces
[67, 60, 72, 64] → [60, 72, 64, 67]
Notas repetidas
[4, 4, 1, 1] → [1, 4, 1, 4]
Siete voces
[12, 3, 7, 20, 15, 9, 1] → [1, 20, 3, 15, 7, 12, 9]
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def alternar(notas):
passJavaScript
function alternar(notas) {
}Se abre en el navegador, con el editor y las pruebas. Este reto es del plan completo; los de O(1) y O(log n) son gratis.
Más retos de O(n log n)
- El intervalo más cortotextos · ordenar · división
- El más votado y el menos votadolistas · ordenar · ciclos
- El número más grandelistas · ordenar · dígitos
- El precio que no puedes pagarordenar · ciclos
- El surtido de los proveedoresconjuntos · listas · ordenar
- La altura de la sierralistas · búsqueda · comparaciones