给定一个二进制数组 nums 和一个整数 k,最多可以将 k 个 0 翻转为 1,求翻转后数组中连续 1 的最大个数。请实现算法并说明时间复杂度。
考察说明
考察滑动窗口与双指针技术在最长连续子序列问题中的应用
回答思路
- 正确理解题意,将问题转化为最多允许 k 个 0 的最长连续子数组
- 使用滑动窗口维护窗口内 0 的个数不超过 k
- 正确移动右指针扩展窗口、左指针收缩窗口
- 返回窗口最大长度并分析时间复杂度为 O(n)
- 能说明为什么滑动窗口适用,以及边界条件处理
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。