在Python中查找最长连续增加子串的长度的程序
假设我们有一个小写字符串s。这包含英文字母以及“?”象征。对于每个“?”我们必须删除它或用任何小写字母替换它。我们必须找到以字母“a”开头的最长连续递增子串的长度。
所以,如果输入像s="vta???defke",那么输出将是6,因为我们可以把s变成"vtabcdefke"并且"abcdef"是最长的连续递增子串,这也是从“一种”。
示例
让我们看看以下实现以获得更好的理解-
def solve(s):
maxlen = length = qmarks = 0
for c in s:
if c == "?":
qmarks += 1
else:
idx = ord(c) - ord("a")
length = idx + 1 if length <= idx <= length + qmarks or idx <= qmarks else 0
qmarks = 0
maxlen = max(maxlen, min(length + qmarks, 26))
return maxlen
s = "vta???defke"
print(solve(s))输入
"vta???defke"输出结果
6
热门推荐
10 病人祝福语老师寄语简短
11 新娘生孩子祝福语简短
12 婆婆66岁祝福语简短
13 今天孩子高考祝福语简短
14 送彩票生日祝福语简短
15 分别祝福语简短情话英文
16 画室揭牌仪式祝福语简短
17 女友妈妈生日祝福语简短
18 离别赠言离职祝福语简短