图案查找器
本课属于 Coddy Ruby 学习旅程的“基础知识”单元。第 87 课,共 88 课。
挑战
简单从输入中读取一个字符串,并找出构成整个字符串的最短重复模式。
有效的模式必须满足以下条件:
- 其长度可以整除字符串的总长度
- 重复适当的次数后,能准确还原原始字符串
如果字符串由重复模式组成,就打印最短的模式。如果不存在重复模式,就打印原始字符串。
要检查模式是否有效,你可以使用字符串乘法:pattern * count 会通过重复模式来创建一个新字符串。
例如,如果输入是 abcabcabc,输出应为:
abc如果输入是 xyxyxyxy,输出应为:
xy如果输入是 aaaa,输出应为:
a如果输入是 hello,输出应为:
hello如果输入是 abcdef,输出应为:
abcdef亲手试试
# 读取输入的字符串
s = gets.chomp
# TODO: 在下面编写你的代码
# 找出能组成整个字符串的最短重复模式
# 提示:检查能整除字符串长度的模式长度
# 用字符串乘法(pattern * count)验证模式是否可行
result = s # 用你的答案替换这里
# 输出结果
puts result基础知识中的所有课
自己练习: Ruby 在线编译器