Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
30
Task/Run-length-encoding/Phix/run-length-encoding.phix
Normal file
30
Task/Run-length-encoding/Phix/run-length-encoding.phix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
function encode(sequence s)
|
||||
sequence out = {}
|
||||
integer prev_char,count = 1
|
||||
if length(s) then
|
||||
prev_char = s[1]
|
||||
for i=2 to length(s) do
|
||||
if s[i]!=prev_char then
|
||||
out &= {count,prev_char}
|
||||
prev_char = s[i]
|
||||
count = 1
|
||||
else
|
||||
count += 1
|
||||
end if
|
||||
end for
|
||||
out &= {count,prev_char}
|
||||
end if
|
||||
return out
|
||||
end function
|
||||
|
||||
function decode(sequence s)
|
||||
sequence out = {}
|
||||
for i=1 to length(s) by 2 do
|
||||
out &= repeat(s[i+1],s[i])
|
||||
end for
|
||||
return out
|
||||
end function
|
||||
|
||||
sequence s = encode("WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW")
|
||||
pp(s)
|
||||
?decode(s)
|
||||
Loading…
Add table
Add a link
Reference in a new issue