實作執行長度編碼與解碼。
執行長度編碼(RLE)是一種簡單的資料壓縮方式,它會把連續的資料元素(也就是 run)替換成單一的資料值和出現次數。
例如,我們可以把原本的 53 個字元只用 13 個字元來表示。
"WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB" -> "12WB12W3B24WB"
RLE 能讓原始資料從壓縮後的資料完美重建,這使它成為一種無損資料壓縮。
"AABCCCDEEEE" -> "2AB3CD4E" -> "AABCCCDEEEE"
為了簡化起見,你可以假設未編碼的字串只會包含 A 到 Z 的字母(大小寫皆可)以及空白字元。 這樣一來,要編碼的資料就永遠不會包含數字,而要解碼的資料裡出現的數字,則一律代表後續字元的出現次數。