Tracks
/
WebAssembly
WebAssembly
/
Ejercicios
/
Codificación por longitud de rachas
Codificación por longitud de rachas

Codificación por longitud de rachas

Difícil

Instrucciones

Implementa la codificación y decodificación por longitud de rachas.

La codificación por longitud de rachas (RLE) es una forma sencilla de compresión de datos, en la que las rachas (elementos de datos consecutivos) se reemplazan por un solo valor de datos junto con su conteo.

Por ejemplo, podemos representar los 53 caracteres originales con solo 13.

"WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB"  ->  "12WB12W3B24WB"

La RLE permite reconstruir perfectamente los datos originales a partir de los datos comprimidos, lo que la convierte en una compresión de datos sin pérdida.

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

Para simplificar, puedes asumir que el string sin codificar solo contendrá las letras de la A a la Z (ya sea en minúscula o en mayúscula) y espacios en blanco. De esta forma, los datos que se van a codificar nunca contendrán números, y los números dentro de los datos que se van a decodificar siempre representan el conteo del carácter siguiente.

Instrucciones específicas del track

El búfer para el string de entrada usa los bytes 64 a 319 de la memoria lineal.

El string de entrada se puede modificar en su lugar si lo deseas.


Fuente

WikipediaEl enlace se abre en una ventana o pestaña nueva
Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
WebAssembly Exercism

¿Todo listo para empezar Codificación por longitud de rachas?

Regístrate en Exercism para aprender y dominar WebAssembly con 87 ejercicios y mentoría humana real, todo gratis.