Python中使用Map函数的二进制字符串中连续1的最大长度
我们得到一个包含 1 和 0 的二进制字符串。找出其中连续 1 的最大长度。
例子:
Input : str = '11000111101010111'
Output : 4
对于这个问题,我们有一个现有的解决方案,请参阅二进制数组链接中的最大连续一个(或零)。我们可以在Python一行代码解决这个问题。方法很简单,
- 使用 string 的 split() 方法分隔由零分隔的连续 1 的所有子字符串。
- 打印 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