2 test cases are getting failed
https://ide.codingblocks.com/s/218083
SanketandStrings
Your logic is fully wrong. The one test case that is passing is coindently passing. I will give you a test case on which your code will give wrong ans.
2
bbbaabb
You are only counting a but now b. you have to count both and then find the max.
I will give you the hint in the logic.
You can solve this problem in O(n) time using the two pointer approach.
Make two variabes , say i and j .
i defines the beginning of a window and j defines its end.
Start i from 0 and j from k.
Letβs talk about the singular case when we are considering the max window for only 'aβs and consider only the swapping of b-> a. If we are able to get the answer for max window of consecutive 'aβs , we can simply implement the same algo for the max βbβ window as well.
So we started i from 0 and j from k.
Move j ahead freely as long as there are βaβ characters at s[ j ] position.
Maintain a count variable which counts the number of swaps made or the number of 'bβs in our A window.
If you encounter a βbβ char at s[ j ] position , increment the count variable. Count should never exceed k .
Take the size of the window at every point using length = j - i + 1;
Compute the max size window this way and do the same for βbβ as well.
Output the maximum size window of βaβ and βbβ.