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.
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.
Melde dich bei Exercism an, um WebAssembly mit 87 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.