Διαδρομές
/
Idris
Idris
/
Ασκήσεις
/
Κωδικοποίηση μήκους σειράς
Κωδικοποίηση μήκους σειράς

Κωδικοποίηση μήκους σειράς

Μέτριο

Οδηγίες

Υλοποίησε την κωδικοποίηση και την αποκωδικοποίηση μήκους σειράς.

Η κωδικοποίηση μήκους σειράς (RLE) είναι μια απλή μορφή συμπίεσης δεδομένων, όπου οι σειρές (διαδοχικά στοιχεία δεδομένων) αντικαθίστανται από μία μόνο τιμή δεδομένων και το πλήθος της.

Για παράδειγμα, μπορούμε να αναπαραστήσουμε τους αρχικούς 53 χαρακτήρες με μόλις 13.

"WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB"  ->  "12WB12W3B24WB"

Η RLE επιτρέπει την τέλεια ανακατασκευή των αρχικών δεδομένων από τα συμπιεσμένα δεδομένα, κάτι που την καθιστά συμπίεση δεδομένων χωρίς απώλειες.

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

Για λόγους απλότητας, μπορείς να υποθέσεις ότι η μη κωδικοποιημένη συμβολοσειρά θα περιέχει μόνο τα γράμματα A έως Z (είτε πεζά είτε κεφαλαία) και κενά διαστήματα. Έτσι, τα δεδομένα προς κωδικοποίηση δεν θα περιέχουν ποτέ αριθμούς, και οι αριθμοί μέσα στα δεδομένα προς αποκωδικοποίηση αντιπροσωπεύουν πάντα το πλήθος του επόμενου χαρακτήρα.


Πηγή

WikipediaΟ σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
Idris Exercism

Έτοιμος να ξεκινήσεις την άσκηση Κωδικοποίηση μήκους σειράς;

Γράψου στο Exercism για να μάθεις και να κατακτήσεις Idris με 58 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.