0
点赞
收藏
分享

微信扫一扫

[算法导论] 1004. 最大连续1的个数 III

蓝莲听雨 2022-04-27 阅读 51
python

双指针

也可以前向dp+反向dp来做。空间复杂度可以用ll和rr来优化。

class Solution(object):
    def longestOnes(self,nums,k):
        left, right = 0, 0 
        res = 0 
        #遍历右指针
        for right in range(len(nums)): 
            if nums[right]==0: #右指针会出现的情况
                k-=1            
             #遍历左指针 (while: 区间不符合题意)
            while k<0: 
                if nums[left]==0: #左指针会出现的情况
                    k+=1     
                left += 1 #左+=1
            res = max(res, right - left + 1) # 需要更新结果
        return res
举报

相关推荐

0 条评论