Percursos
/
C
C
/
Exercícios
/
Codificação run-length
Codificação run-length

Codificação run-length

Médio

Instruções

Implementa a codificação e a descodificação run-length (RLE).

A run-length encoding (RLE) é uma forma simples de compressão de dados, em que as sequências (elementos de dados consecutivos) são substituídas por apenas um valor de dados e a respetiva contagem.

Por exemplo, podemos representar os 53 carateres originais com apenas 13.

"WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB"  ->  "12WB12W3B24WB"

A RLE permite reconstruir perfeitamente os dados originais a partir dos dados comprimidos, o que faz dela uma compressão de dados sem perdas.

"AABCCCDEEEE"  ->  "2AB3CD4E"  ->  "AABCCCDEEEE"

Por simplicidade, podes assumir que a string não codificada contém apenas as letras de A a Z (maiúsculas ou minúsculas) e espaços em branco. Assim, os dados a codificar nunca contêm números, e os números dentro dos dados a descodificar representam sempre a contagem do caráter seguinte.


Fonte

WikipediaO link abre numa nova janela ou separador
Editar via GitHub A ligação abre numa nova janela ou separador
C Exercism

Estás pronto para começar Codificação run-length?

Inscreve-te no Exercism para aprenderes e dominares C com 84 exercícios, e mentoria humana real, tudo grátis.