這是我的代碼在紅寶石的字壓縮。 對於任何給定的單詞(例如abbbcca),壓縮的單詞/輸出應採用格式「letter + repeat」(例如,輸出:a1b3c2a1)。絃樂壓縮器(紅寶石)
在這裏,我很接近完成,但我的結果不在預期格式。它正在計算整個string.chars.each
中的字母,因此得到的結果爲a2b3c2a2
。
任何幫助?
def string_compressor(string)
new_string = []
puts string.squeeze
string.squeeze.chars.each { |s|
count = 0
string.chars.each { |w|
if [s] == [w]
count += 1
end
}
new_string << "#{s}#{count}"
puts "#{new_string}"
}
if new_string.length > string.length
return string
elsif new_string.length < string.length
return new_string
else "Equal"
end
end
string_compressor("abbbcca")
[連續字母頻率]的可能重複(http://stackoverflow.com/questions/27713412/consecutive-letter-frequency) – akuhn