Kartik bhaiya and strings

Please tell approach of the problem

@kumarakash121005
you need to find the maximum length of a substring (consecutive subsequence) consisting of equal letters. and u are allowed to change no more than k characters of the original string.

for example->
4 2
abba

answer is 4 becuase can obtain both strings “aaaa”(by change 2 b’s into a) and “bbbb”(changing a’ to b)

8 1
aabaabaa
answer is 5 becuase we can obtain string “aaaaabaa” or string “aabaaaaa”. (both have 5 length substring with all smae character)

You can solve this problem using two pointer technique:
Let the first pointer is l and the second pointer is r . Then for every position l we will move right end r until on the substring s l s l+ 1s r it is possible to make no more than k swaps to make this substring beautiful. Then we need to update the answer with length of this substring and move l to the right.

  • 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’.

I hope I’ve cleared your doubt. I ask you to please rate your experience here
Your feedback is very important. It helps us improve our platform and hence provide you
the learning experience you deserve.

On the off chance, you still have some questions or not find the answers satisfactory, you may reopen
the doubt.