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

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

假设我们有一个二进制字符串 s。我们必须找出只包含“1”的子字符串的数量。如果答案太大,则对结果进行10^9+7的取模操作。

因此,如果输入是s =“100111”,则输出将是7,因为只包含“1”的子字符串是 [“1”, “1”, “1”, “1”, “11”, “11”和”111″]

为了解决这个问题,我们将按照以下步骤执行 –

  • a:= 0
  • count:= 0
  • 对于i在0到s的大小-1的范围内,执行以下操作
    • 如果s[i]等于 “0”,则
      • a := 0
    • 否则,
      • a := a + 1
      • count := count + a
  • 返回count

示例

让我们看看以下实现来更好地理解−

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程