26. Run-Length Encoding
Implementa el algoritmo de compresión "Run-Length Encoding" (RLE) y su correspondiente algoritmo de descompresión.
Crea dos funciones: 1. Una que reciba una cadena de texto y la comprima utilizando RLE. 2. Otra que reciba una cadena comprimida en RLE y la descomprima.
El formato comprimido debe representar una secuencia de caracteres repetidos como un número seguido del carácter (ej. "AAAB" se comprime a "3A1B").
def run_length_encode(cadena: str) -> str:
# Tu código aquí
pass
def run_length_decode(cadena_comprimida: str) -> str:
# Tu código aquí
pass
run_length_encode("AAABBC")
# "3A2B1C"
run_length_decode("3A2B1C")
# "AAABBC"
run_length_encode("A")
# "1A"
run_length_decode("1A")
# "A"
run_length_encode("")
# ""
run_length_decode("")
# ""
Ratoncito
Implementa las funciones de codificación y decodificación para cadenas simples de caracteres alfanuméricos.
Dragón
Añade manejo para:
-
Caracteres que no se repiten (como "A", debe codificarse como "1A").
-
Cadenas que contienen dígitos que podrían confundirse con los contadores (ej. "A11B" si el ’1’ es parte del texto).
-
Considera la eficiencia para cadenas muy largas.
This work is under a Attribution-NonCommercial-NoDerivatives 4.0 International license.
Support me on Ko-fi