如何解决如何在字符串中找到最长的完全相同字符块?
从标准输入读取:
要搜索的字符串 -> hoopla
打印到标准输出:
一行输出 - 给定数组中长度最大的第一个块 -> oo 请注意,不同的情况很重要。
样品测试 输入: 胡帕 输出: 哦
输入: abbCCCcddBBBxx 输出: CCC
先谢谢你!
解决方法
您可以像这样获取字符串中最长的块。它遍历字符串,因此运行时间应该只随着输入长度的增加而线性增加。
def get_longest_block(text):
char = None
amount = 0
maxChar = None
maxAmount = 0
for c in text:
if c == char:
amount += 1
else:
if amount > maxAmount:
maxChar = char
maxAmount = amount
amount = 1
char = c
return maxChar * maxAmount
print(get_longest_block("hoopla"))
print(get_longest_block("abbCCCcddBBBxx"))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。