LetCode 485: 给定一个二进制数组, 计算其中最大连续 1 的个数

给定一个二进制数组, 计算其中最大连续 1 的个数

第一种方法: 将count存入一个ans的列表中,取得列表中最大值即为最大连续1的个数

    def findMaxConsecutiveOnes(nums: List[int]) -> int:
        ans = []
        count = 0
        if 1 not in nums:
            return 0
        for i in nums:
            if i == 1:
                count += 1 
                ans.append(count)
            else:
                
                count = 0
        return max(ans)
            

第二种方法: 用比较替换的方法,如果当前count比ans大,将count赋值给ans,确保ans是最大数

    def findMaxConsecutiveOnes(self, nums: List[int]) -> int:
        ans = 0
        cnt = 0
        for num in nums:
            if num == 1:
                cnt += 1
                ans = max(ans, cnt)
            else:
                cnt = 0
        return ans

posted @ 2021-12-25 20:52  焰红火  阅读(100)  评论(0)    收藏  举报