487. Max Consecutive Ones II
T: o(n)
S: O(1)
```java
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
int left = 0;
int right = 0;
int zeroIdx = -1;
int result = 0;
while (right < nums.length) {
int rightInt = nums[right];
right++;
if (rightInt == 0) {
if (zeroIdx == -1) {
zeroIdx = right-1;
} else {
left = zeroIdx+1;
zeroIdx = right-1;
}
}
result = Math.max(result, right - left);
}
return result;
}
}
/**
sliding win
T: o(n)
S: O(1)
if win only has one 0 -> it's a 1
zeroidx = 1
1,0,1,1,0
0,0, 0
idea, update zero's postion,
and left = zeroIdx+1; so our win only has 0 zero (flip to one)
*/
```
Last updated