[leetcode: Python]485. Max Consecutive Ones

来源:互联网 发布:c语言中布尔型数据 编辑:程序博客网 时间:2024/06/06 01:00

Given a binary array, find the maximum number of consecutive 1s in this array.

Example 1:

Input: [1,1,0,1,1,1]Output: 3Explanation: The first two digits or the last three digits are consecutive 1s.    The maximum number of consecutive 1s is 3.

Note:

The input array will only contain 0 and 1.
The length of input array is a positive integer and will not exceed 10,000

连续1的最大个数

方法一:185ms

class Solution(object):    def findMaxConsecutiveOnes(self, nums):        """        :type nums: List[int]        :rtype: int        """        s = ''.join(str(i) for i in nums)        l = s.split('0')        ln = []        for i in l:            ln.append(len(i))        return max(ln)

方法二:126ms

class Solution(object):    def findMaxConsecutiveOnes(self, nums):        """        :type nums: List[int]        :rtype: int        """        res = 0        count = 0        for num in nums:            if num != 1:                res = max(res, count)                count = 0            else:                count += 1        return max(res, count)

方法三:65ms

class Solution(object):    def findMaxConsecutiveOnes(self, nums):        """        :type nums: List[int]        :rtype: int        """        return max([len(i) for i in bytearray(nums).split(b'\x00')])
原创粉丝点击