使用迭代器和组合器压缩序列

Rust Hard 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