目前共有4篇帖子。
小藍有一個字符串 ss,他特別喜歡由以下三個字符組成的單詞:l,q,bl,q,b,任意順序都可以,一共有 66 種可能:lqblqb、lbqlbq、qlbqlb、qblqbl、blqblq、bqlbql。
現在他想從 ss 中,儘可能切割出多個他喜歡的單詞,請問最多能切割出多少個?單詞指的是由若幹個連續的字符組成的子字符串。
輸入一行包含一個字符串 ss。
輸出一行包含一個整數表示答案。
lqbblqblqlxqb
樣例輸出
3
對於固定長度的不重疊區間選擇問題,從左到右儘早選擇有效子串的貪心策略可以得到全局最優解。
import os
import sys
# 請在此輸入您的代碼
#讀取字符串
#截取窗口
#判斷是否,是則跳窗口,不是依次往後
s=input().strip()
n=len(s)
count=0
v_chars={'l','b','q'}
i=0
while i<=n-3:
windous=s[i:i+3]
if set(windous)==v_chars:
i=i+3
count=count+1
else:
i=i+1
print(count)
內容轉換: