Dekodowanie RLE

Kompresja bezstratna: kodowanie RLE - Algorytmy: zakres rozszerzony (Python)

Dekodowanie czyta cyfry liczby powtórzeń (może być ich kilka, np. `12W`), a potem znak, który powtarza tyle razy. Po zakodowaniu i odkodowaniu wracamy dokładnie do danych wejściowych: to sprawdzian, że kompresja jest bezstratna.

def rle_decode(code):
    result = ""
    count = ""
    for char in code:
        if char.isdigit():
            count += char
        else:
            result += char * int(count)
            count = ""
    return result


print(rle_decode("4A3B2C"))
print(rle_decode("12W1B3W"))

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Algorytmy: zakres rozszerzony·Zaloguj się, aby zapisać postęp na koncie.