📌  相关文章
📜  Python中使用Map函数的二进制字符串中连续1的最大长度

📅  最后修改于: 2022-05-13 01:57:08.969000             🧑  作者: Mango

Python中使用Map函数的二进制字符串中连续1的最大长度

我们得到一个包含 1 和 0 的二进制字符串。找出其中连续 1 的最大长度。

例子:

Input : str = '11000111101010111'
Output : 4

对于这个问题,我们有一个现有的解决方案,请参阅二进制数组链接中的最大连续一个(或零)。我们可以在Python一行代码解决这个问题。方法很简单,

  1. 使用 string 的 split() 方法分隔由零分隔的连续 1 的所有子字符串。
  2. 打印 1 的拆分子字符串的最大长度。
Python
# Function to find Maximum length of consecutive 1's in a binary string
 
def maxConsecutive1(input):
     # input.split('0') --> splits all sub-strings of consecutive 1's
     # separated by 0's, output will be like ['11','1111','1','1','111']
     # map(len,input.split('0'))  --> map function maps len function on each
     # sub-string of consecutive 1's
     # max() returns maximum element from a list
     print max(map(len,input.split('0')))
 
# Driver program
if __name__ == "__main__":
    input = '11000111101010111'
    maxConsecutive1(input)


输出:

4