uj5u.com熱心網友回復:
通過正則方式想出了一個答案做個參考
import re
input_str = input('請輸入字串:')
exist_str = set(input_str) # 將字串去重
co_len_max = 0
for i in exist_str:
# 通過正則查找co-string
co_list = re.findall('[{}]*{}[{}]*'.format(i,i,i), input_str)
# 將每個list里的co-string提取出來,查看長度
co_str = co_list[0]
co_str_len = len(co_str)
if co_str_len > co_len_max and co_str_len > 1:
# 將長度最大的賦值給co_len_max
co_len_max = co_str_len
print(co_len_max)
uj5u.com熱心網友回復:
剛才代碼不全面,同一個字符出現多次(abcaaaabbbbb)輸出會出錯
優化后代碼
import re
input_str = input('請輸入字串:')
exist_str = set(input_str) # 將字串去重
co_len_max = 0
for i in exist_str:
# 通過正則查找co-string
co_list = re.findall('[{}]*{}[{}]*'.format(i,i,i), input_str)
print(co_list)
# 將每個list里的co-string提取出來,查看長度
for j in range(len(co_list)):
co_str = co_list[j]
co_str_len = len(co_str)
if co_str_len > co_len_max and co_str_len > 1:
# 將長度最大的賦值給co_len_max
co_len_max = co_str_len
print(co_len_max)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/103582.html
上一篇:【2020CCPC網路賽】1005 Lunch(HDU6892)
下一篇:C#課題不知道有會的大神沒
