Ordenamiento por frecuencia con preservación del orden
Rust
Hard
sorting
Tarea «Ordenamiento por frecuencia con preservación del orden»
Dado un array de números enteros. Es necesario ordenarlo en orden descendente según la frecuencia de aparición de los elementos. Si dos elementos aparecen la misma cantidad de veces, deben ubicarse en el orden de su primera aparición en el array original. Se requiere implementar un algoritmo de ordenamiento con complejidad temporal O(n log n) y uso de memoria adicional O(n).
Formato de entrada
La primera línea contiene un número entero n (1 ≤ n ≤ 10^5). La segunda línea contiene n números enteros separados por espacios.
Formato de salida
Imprima n números enteros separados por espacios — el array ordenado.
Ejemplos
Ejemplo 1
ENTRADA
3
3 2 1
SALIDA
3 2 1
main.rs