📅  最后修改于: 2023-12-03 15:11:39.479000             🧑  作者: Mango
给定一个长度为n的二进制字符串s,计算其中最长的不含相邻 0 的子字符串的长度。
输入:"0011100" 输出:3 解释:最长的不含相邻 0 的子字符串是 "110",长度为 3。
def max_01_10_count(s: str) -> int:
# 将字符串转换为 01 串
s = s.replace('10', '1 0').replace('01', '0 1').split()
# 计算最长不含相邻 0 的子字符串长度
max_len, cur_len = 0, 0
for i in range(len(s)):
if s[i] == '1':
cur_len += 1
else:
max_len = max(max_len, cur_len)
cur_len = 0
return max(max_len, cur_len)
注意:本代码片段包含了函数定义,同时也包含了函数参数的类型注解和返回值的类型注解。