Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
15
Task/Run-length-encoding/Groovy/run-length-encoding-1.groovy
Normal file
15
Task/Run-length-encoding/Groovy/run-length-encoding-1.groovy
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
def rleEncode(text) {
|
||||
def encoded = new StringBuilder()
|
||||
(text =~ /(([A-Z])\2*)/).each { matcher ->
|
||||
encoded.append(matcher[1].size()).append(matcher[2])
|
||||
}
|
||||
encoded.toString()
|
||||
}
|
||||
|
||||
def rleDecode(text) {
|
||||
def decoded = new StringBuilder()
|
||||
(text =~ /([0-9]+)([A-Z])/).each { matcher ->
|
||||
decoded.append(matcher[2] * Integer.parseInt(matcher[1]))
|
||||
}
|
||||
decoded.toString()
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
def text = 'WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW'
|
||||
def rleEncoded = rleEncode(text)
|
||||
assert rleEncoded == '12W1B12W3B24W1B14W'
|
||||
assert text == rleDecode(rleEncoded)
|
||||
|
||||
println "Original Text: $text"
|
||||
println "Encoded Text: $rleEncoded"
|
||||
Loading…
Add table
Add a link
Reference in a new issue