Compressão de sequência usando iteradores e combinadores
Rust
Hard
iterators
Tarefa «Compressão de sequência usando iteradores e combinadores»
Você recebe uma sequência de números inteiros. É necessário implementar uma função que comprime a sequência: substitui números iguais consecutivos por um par (número, quantidade de repetições). Use iteradores e combinadores (por exemplo, map, filter, fold, scan, collect). Dados de entrada: primeiro um inteiro N (1 ≤ N ≤ 10^5), depois N números inteiros. Imprima a sequência comprimida na forma de pares (número, quantidade) separados por espaço. Se a sequência estiver vazia (N=0), imprima uma linha vazia.
Formato de Entrada
Inteiro N, depois N números inteiros separados por espaço.
Formato de Saída
Pares (número, quantidade) separados por espaço. Cada par: número e quantidade separados por vírgula sem espaço. Se N=0, imprima uma linha vazia.
Exemplos
Exemplo 1
ENTRADA
SAÍDA
Exemplo 2
ENTRADA
1
42
SAÍDA
42,1
Exemplo 3
ENTRADA
SAÍDA
main.rs