Сжатие последовательности с помощью итераторов и комбинаторов
Rust
Сложный
iterators
Задача «Сжатие последовательности с помощью итераторов и комбинаторов»
Вам дана последовательность целых чисел. Необходимо реализовать функцию, которая сжимает последовательность: заменяет подряд идущие одинаковые числа на пару (число, количество повторений). Используйте итераторы и комбинаторы (например, map, filter, fold, scan, collect). Входные данные: сначала целое N (1 ≤ N ≤ 10^5), затем N целых чисел. Выведите сжатую последовательность в виде пар (число, количество) через пробел. Если последовательность пустая (N=0), вывести пустую строку.
Формат ввода
Целое N, затем N целых чисел через пробел.
Формат вывода
Пары (число, количество) через пробел. Каждая пара: число и количество через запятую без пробела. Если N=0, вывести пустую строку.
Примеры
Пример 1
ВВОД
ВЫВОД
Пример 2
ВВОД
1
42
ВЫВОД
42,1
Пример 3
ВВОД
ВЫВОД
main.rs