Python程式:從序列中查詢最大k重複子字串
假設我們有一個字元序列稱為s,如果將字串w連線k次是序列的一個子字串,則我們稱字串w為k重複字串。w的最大k重複值將是k的最高值,其中w在序列中是k重複的。如果w不是給定序列的子字串,則w的最大k重複值為0。因此,如果我們有s和w,我們必須找到w在序列中的最大k重複值。
因此,如果輸入類似於s = "papaya" w = "pa",則輸出將為2,因為w = "pa"在"papaya"中出現兩次。
為了解決這個問題,我們將遵循以下步驟:
Count:= s中w出現的次數
如果Count等於0,則
返回0
對於從Count到0的範圍i,遞減1,執行以下操作:
如果s中存在w的i次重複,則
返回i
示例(Python)
讓我們看看以下實現以獲得更好的理解:
def solve(s, w): Count=s.count(w) if Count==0: return 0 for i in range(Count,0,-1): if w*i in s: return i s = "papaya" w = "pa" print(solve(s, w))
輸入
"papaya", "pa"
輸出
2
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP