رمزگذاری و رمزگشایی طول توالی را پیادهسازی کنید.
رمزگذاری طول توالی (RLE) شکل سادهای از فشردهسازی داده است که در آن توالیها (عناصر دادهی پشتسرهم) تنها با یک مقدار داده و یک شمارش جایگزین میشوند.
برای مثال میتوانیم ۵۳ کاراکتر اصلی را تنها با ۱۳ کاراکتر نمایش دهیم.
"WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB" -> "12WB12W3B24WB"
RLE این امکان را میدهد که دادهی اصلی از روی دادهی فشرده بهطور کامل بازسازی شود و همین آن را به فشردهسازی بدون اتلاف داده تبدیل میکند.
"AABCCCDEEEE" -> "2AB3CD4E" -> "AABCCCDEEEE"
برای سادگی میتوانید فرض کنید که رشتهی رمزگذارینشده تنها شامل حروف A تا Z (چه کوچک و چه بزرگ) و فاصلههای سفید است. به این ترتیب، دادهای که قرار است رمزگذاری شود هرگز عددی نخواهد داشت و اعداد داخل دادهای که رمزگشایی میشود همیشه تعداد کاراکتر بعدی را نشان میدهند.
بافر رشتهی ورودی از بایتهای ۶۴ تا ۳۱۹ حافظهی خطی استفاده میکند.
رشتهی ورودی را در صورت تمایل میتوان در جای خود تغییر داد.
در Exercism ثبتنام کنید تا WebAssembly را همراه با 87 تمرین و مربیگری انسانی واقعی یاد بگیرید و در آن استاد شوید، همهی اینها رایگان.