C++ O(n) approach


#1

int Solution::solve(vector &A, int B)
{
int mx=0,l=0,c=0;
for(int i=0;i<A.size();i++)
{
if(A[i]==0)
{
if(c<B) c++;
else
{
while(A[l]!=0)
l++;
l++;
}
}
if(i-l+1>mx) mx=i-l+1;
}
return mx;
}