487 Max Consecutive Ones II
Given a binary array nums
, return the maximum number of consecutive 1
's in the array if you can flip at most one 0
.
Example 1:
Example 2:
Constraints:
1 <= nums.length <= 105
nums[i]
is either0
or1
.
Follow up: What if the input numbers come in one by one as an infinite stream? In other words, you can't store all numbers coming from the stream as it's too large to hold in memory. Could you solve it efficiently?
这题是真的得slide了。做法是,用一个boolean标注flip过了没有,这最多可以flip一次,所以没flip过的,就继续cnt++,同时记录一下flip的位置。flip过了,就移动left指向下一位,同时计算max。最后出了循环还得算一次max,因为最后一个没算进去。right已经跳出了。T:O(n), S:O(1)
Last updated