Adding to string processing

This commit is contained in:
vprusso
2018-12-17 15:10:23 -05:00
parent cfc741c08f
commit ecc76af12d
@@ -0,0 +1,45 @@
# YouTube Link:
"""
Run-length encoding (RLE) is a very simple form of lossless data compression
in which runs of data (that is, sequences in which the same data value occurs
in many consecutive data elements) are stored as a single data value and count,
rather than as the original run.
Example:
WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW
With a run-length encoding (RLE) data compression algorithm applied to
the above hypothetical scan line, it can be rendered as follows:
12W1B12W3B24W1B14W
This can be interpreted as a sequence of twelve Ws, one B, twelve Ws,
three Bs, etc..,
"""
def run_length_encode(uncompressed_data):
"""
Takes an uncompressed string of data and
returns the run-length encoded string.
"""
compressed_data = ""
return compressed_data
def run_length_decode(compressed_data):
"""
Takes a run-length encoded compressed string
and returns the uncompressed decoded data.
"""
uncompressed_data = ""
return uncompressed_data
uncompressed_data = "aaaaahhhhhhmmmmmmmuiiiiiiiaaaaaa"
# Expects:
compressed_data = run_length_encode(uncompressed_data)
# Expects: "aaaaahhhhhhmmmmmmmuiiiiiiiaaaaaa"
uncompressed_data = run_length_decode(compressed_data)