题解
还是滑动窗口
跟之前做的题目其实是有些类似的,需要进行题目转换,转化为寻找包含k个0的最大连续子串。
然后题目就变得简单了
左右两个指针,右指针一直向右走,当不满足<= k个0的条件,那么需要左指针右移,并且判断当前存在的0的个数。
代码
class Solution {
public:
int longestOnes(vector<int>& A, int K) {
int n = A.size();
int left = 0,res = 0,ans = 0;
for(int right = 0; right < n; right++){
if(A[right] == 0){
res++;
}
if(res > K){
if(A[left++] == 0){
res--;
}
}
ans = max(ans,right - left + 1);
}
return ans;
}
};

本文讲解了一种将题目转化为寻找包含k个0的最大连续子串的解题策略,通过左右指针操作,灵活调整子串范围,最终实现代码实现。适用于那些涉及动态调整子串范围的问题解决技巧。
368

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



