1493. 删掉一个元素以后全为 1 的最长子数组 - 力扣(LeetCode)
可以使用滑动窗口的方式来解决这个问题。我们要找到最长的全 1 子数组,但必须删除一个元素,因此可以将问题转化为寻找最多包含一个 0 的最长子数组。
解题思路
- 使用双指针(滑动窗口),维护窗口内最多包含一个
0
。 - 当窗口内的
0
超过 1 个时,移动左指针left
直到窗口内0
的数量恢复为 1。 - 记录窗口的最大长度,最终返回
maxLen - 1
,因为必须删除一个元素(即使数组全是1
,我们仍然需要删掉一个)。