26 lines
347 B
Go
26 lines
347 B
Go
package q1004
|
|
|
|
func longestOnes(nums []int, k int) int {
|
|
flipped := 0
|
|
curLen, maxLen := 0, 0
|
|
tail := 0
|
|
|
|
for i := range nums {
|
|
curLen++
|
|
if nums[i] == 0 {
|
|
flipped++
|
|
|
|
for flipped > k {
|
|
if nums[tail] == 0 {
|
|
flipped--
|
|
}
|
|
tail++
|
|
curLen--
|
|
}
|
|
}
|
|
maxLen = max(maxLen, curLen)
|
|
}
|
|
return maxLen
|
|
}
|
|
|
|
var _ = longestOnes
|