Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
33
Task/Run-length-encoding/Python/run-length-encoding-1.py
Normal file
33
Task/Run-length-encoding/Python/run-length-encoding-1.py
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
def encode(input_string):
|
||||
count = 1
|
||||
prev = None
|
||||
lst = []
|
||||
for character in input_string:
|
||||
if character != prev:
|
||||
if prev:
|
||||
entry = (prev, count)
|
||||
lst.append(entry)
|
||||
count = 1
|
||||
prev = character
|
||||
else:
|
||||
count += 1
|
||||
else:
|
||||
try:
|
||||
entry = (character, count)
|
||||
lst.append(entry)
|
||||
return (lst, 0)
|
||||
except Exception as e:
|
||||
print("Exception encountered {e}".format(e=e))
|
||||
return (e, 1)
|
||||
|
||||
def decode(lst):
|
||||
q = []
|
||||
for character, count in lst:
|
||||
q.append(character * count)
|
||||
return ''.join(q)
|
||||
|
||||
#Method call
|
||||
value = encode("aaaaahhhhhhmmmmmmmuiiiiiiiaaaaaa")
|
||||
if value[1] == 0:
|
||||
print("Encoded value is {}".format(value[0]))
|
||||
decode(value[0])
|
||||
Loading…
Add table
Add a link
Reference in a new issue