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.

Will you buy me a coffee?

Visitors in real time

You are alone: 🐱