Tracks
/
WebAssembly
WebAssembly
/
Übungen
/
Lauflängenkodierung
Lauflängenkodierung

Lauflängenkodierung

Schwer

Anleitung

Implementiere die Lauflängenkodierung und die Lauflängendekodierung.

Die Lauflängenkodierung (RLE) ist eine einfache Form der Datenkompression, bei der Folgen (aufeinanderfolgende Datenelemente) durch einen einzelnen Datenwert und dessen Anzahl ersetzt werden.

Zum Beispiel können wir die ursprünglichen 53 Zeichen mit nur 13 darstellen.

"WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB"  ->  "12WB12W3B24WB"

Mit RLE lassen sich die ursprünglichen Daten perfekt aus den komprimierten Daten rekonstruieren, was sie zu einer verlustfreien Datenkompression macht.

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

Der Einfachheit halber kannst du annehmen, dass der unkodierte String nur die Buchstaben A bis Z (groß oder klein) und Leerzeichen enthält. Auf diese Weise enthalten die zu kodierenden Daten nie Zahlen, und Zahlen in zu dekodierenden Daten geben immer die Anzahl des folgenden Zeichens an.

Trackspezifische Anweisungen

Der Puffer für den Eingabe-String belegt die Bytes 64-319 des linearen Speichers.

Der Eingabe-String kann bei Bedarf an Ort und Stelle verändert werden.


Quelle

WikipediaDer Link öffnet sich in einem neuen Fenster oder Tab
Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
WebAssembly Exercism

Bereit, mit Lauflängenkodierung zu starten?

Melde dich bei Exercism an, um WebAssembly mit 87 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.