ट्रैक
/
WebAssembly
WebAssembly
/
अभ्यास
/
रन-लेंथ एन्कोडिंग
रन-लेंथ एन्कोडिंग

रन-लेंथ एन्कोडिंग

कठिन

निर्देश

रन-लेंथ एन्कोडिंग और डिकोडिंग लागू कीजिए।

रन-लेंथ एन्कोडिंग (RLE) डेटा कम्प्रेशन का एक आसान तरीका है। इसमें रन (लगातार आने वाले डेटा एलिमेंट) की जगह सिर्फ एक डेटा वैल्यू और उसकी गिनती लिख दी जाती है।

उदाहरण के लिए, हम मूल 53 अक्षरों को सिर्फ 13 अक्षरों में दिखा सकते हैं।

"WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB"  ->  "12WB12W3B24WB"

RLE की मदद से कम्प्रेस किए गए डेटा से मूल डेटा बिल्कुल वैसा ही दोबारा बनाया जा सकता है। इसीलिए इसे लॉसलेस डेटा कम्प्रेशन कहते हैं।

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

आसानी के लिए आप यह मान सकते हैं कि बिना एन्कोड की गई स्ट्रिंग में सिर्फ A से Z तक के अक्षर (छोटे या बड़े) और व्हाइटस्पेस होंगे। इस तरह एन्कोड किए जाने वाले डेटा में कभी कोई संख्या नहीं होगी, और डिकोड किए जाने वाले डेटा में संख्याएँ हमेशा उसके बाद आने वाले अक्षर की गिनती बताती हैं।

इस ट्रैक के लिए खास निर्देश

इनपुट स्ट्रिंग का बफर लीनियर मेमोरी के बाइट 64 से 319 तक इस्तेमाल करता है।

चाहें तो इनपुट स्ट्रिंग को उसी जगह बदल सकते हैं।


स्रोत

Wikipediaयह लिंक एक नई विंडो या टैब में खुलता है
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
WebAssembly Exercism

रन-लेंथ एन्कोडिंग शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और WebAssembly को 87 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।