Komprimierung einer Sequenz mithilfe von Iteratoren und Kombinatoren
Rust
Hard
iterators
Aufgabe «Komprimierung einer Sequenz mithilfe von Iteratoren und Kombinatoren»
Sie erhalten eine Sequenz von ganzen Zahlen. Implementieren Sie eine Funktion, die die Sequenz komprimiert: aufeinanderfolgende gleiche Zahlen werden durch ein Paar (Zahl, Anzahl der Wiederholungen) ersetzt. Verwenden Sie Iteratoren und Kombinatoren (z. B. map, filter, fold, scan, collect). Eingabedaten: zuerst eine ganze Zahl N (1 ≤ N ≤ 10^5), dann N ganze Zahlen. Geben Sie die komprimierte Sequenz als Paare (Zahl, Anzahl) getrennt durch Leerzeichen aus. Wenn die Sequenz leer ist (N=0), geben Sie eine leere Zeile aus.
Eingabeformat
Ganze Zahl N, dann N ganze Zahlen durch Leerzeichen getrennt.
Ausgabeformat
Paare (Zahl, Anzahl) durch Leerzeichen getrennt. Jedes Paar: Zahl und Anzahl durch ein Komma ohne Leerzeichen. Wenn N=0, geben Sie eine leere Zeile aus.
Beispiele
Beispiel 1
EINGABE
AUSGABE
Beispiel 2
EINGABE
1
42
AUSGABE
42,1
Beispiel 3
EINGABE
AUSGABE
main.rs