在Python中计算二进制字符串中全为1的子字符串的程序

假设我们有一个二进制字符串 s。我们必须找到只包含“1”的子串的数量。如果答案太大,将结果修改为 10^9+7。

所以,如果输入像 s = "100111",那么输出将是 7,因为只包含 "1" 的子串是 ["1", "1", "1", "1", "11" , "11" 和 "111"]

示例

让我们看看以下实现以获得更好的理解 -

def solve(s):
   a = 0
   count = 0
   for i in range(len(s)):
      if s[i] == "0":
         a = 0
      else:
         a += 1
         count += a
   return count

s = "100111"
print(solve(s))

输入

"100111"
输出结果
7

猜你喜欢