我想在Ruby中对字符串进行编码,使输出成对出现以便我能够解码。我希望以这种方式进行编码,即每对包含字符串中下一个不同的字母和连续重复的数量。
例如,如果我编码“aaabbcbbaaa”,输出应该是[["a", 3], ["b", 2], ["c", 1], ["b", 2], ["a", 3]]。
以下是代码。
例如,如果我编码“aaabbcbbaaa”,输出应该是[["a", 3], ["b", 2], ["c", 1], ["b", 2], ["a", 3]]。
以下是代码。
def encode( s )
b = 0
e = s.length - 1
ret = []
while ( s <= e )
m = s.match( /(\w)\1*/ )
l = m[0][0]
n = m[0].length
ret << [l, n]
end
ret
end