Compression de séquence à l’aide d’itérateurs et de combinateurs
Rust
Hard
iterators
Tâche «Compression de séquence à l’aide d’itérateurs et de combinateurs»
On vous donne une séquence d’entiers. Vous devez implémenter une fonction qui compresse la séquence : remplace les entiers identiques consécutifs par une paire (nombre, nombre de répétitions). Utilisez des itérateurs et des combinateurs (par exemple, map, filter, fold, scan, collect). Données d’entrée : d’abord un entier N (1 ≤ N ≤ 10^5), puis N entiers. Affichez la séquence compressée sous forme de paires (nombre, nombre de répétitions) séparées par des espaces. Si la séquence est vide (N=0), affichez une ligne vide.
Format d\ entrée
Un entier N, puis N entiers séparés par des espaces.
Format de sortie
Paires (nombre, nombre de répétitions) séparées par des espaces. Chaque paire : nombre et nombre de répétitions séparés par une virgule sans espace. Si N=0, affichez une ligne vide.
Exemples
Exemple 1
ENTRÉE
SORTIE
Exemple 2
ENTRÉE
1
42
SORTIE
42,1
Exemple 3
ENTRÉE
SORTIE
main.rs