Prompt: You are given a string s and an integer k. You can choose any character of the string and change it to any other uppercase English character. You can perform this operation at most k times.
Return the length of the longest substring containing the same letter you can get after performing the above operations.
Example:
Input: s = "ABAB", k = 2
Output: 4
Explanation: Replace the two 'A's with two 'B's or vice versa.
Input: s = "AABABBA", k = 1
Output: 4
Explanation: Replace the one 'A' in the middle with 'B' and form "AABBBBA".
The substring "BBBB" has the longest repeating letters, which is 4.
Solution: This is a sliding window question. The condition for the sliding window is that the frequency of characters, other than the character with the max frequency, has to be less than or equal to k. The reason for keeping track of other characters rather than the max frequency is because we want to keep all the most frequent characters and swap out all the other ones. The runtime for this solution is O(n).