LeetCode1004 最大连续1的个数 III
1. 问题描述


2. 思路
经典滑动窗口
3. 代码
func longestOnes(nums []int, k int) int {
var res int
left, right := 0, 0
zeros := 0
for right < len(nums) {
if nums[right] == 0 {
zeros++
}
for zeros > k {
if nums[left] == 0 {
left++
zeros--
} else {
left++
}
// fmt.Printf("%v\n",left)
}
res = max(res, right - left + 1)
right++
}
return res
}
func max(a, b int) int {
if a < b {
a = b
}
return a
}
本文介绍了解决LeetCode 1004题——最大连续1的个数III的方法,通过滑动窗口算法高效求解。该算法通过维护一个窗口,在遍历过程中动态调整窗口大小来实现解决方案。
701

被折叠的 条评论
为什么被折叠?



