gpt4 book ai didi

ruby - 字符串压缩器 (Ruby)

转载 作者:数据小太阳 更新时间:2023-10-29 07:58:45 25 4
gpt4 key购买 nike

这是我用 ruby​​ 编写的用于单词压缩的代码。对于任何给定的词(例如 abbbcca),压缩词/输出的格式应为“字母+重复”(对于上面的示例,输出: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")

最佳答案

'abbbcca'.chars.chunk{|c| c}.map{|c, a| [c, a.size]}.flatten.join

改编自a similar question .

类似:

'abbbcca'.chars.chunk{|c| c}.map{|c, a| "#{c}#{a.size}"}.join

参见 chunk documentation

关于ruby - 字符串压缩器 (Ruby),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41321603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com