diff --git a/03. Sliding Window/03.LongestRepeatingCharacterReplacement.md b/03. Sliding Window/03.LongestRepeatingCharacterReplacement.md index 9949820..8cb4c48 100644 --- a/03. Sliding Window/03.LongestRepeatingCharacterReplacement.md +++ b/03. Sliding Window/03.LongestRepeatingCharacterReplacement.md @@ -63,3 +63,27 @@ class Solution { } } ``` + +```java +class Solution { + public int characterReplacement(String s, int k) { + int[] freqArray=new int[26]; // Storing Frequency of characters A-Z + int left=0, maxFreq=0,longestSubstring=0; + for(int right=0;rightk then we shrink win until it becomes valid agn + while((right-left+1)-maxFreq>k){ + freqArray[s.charAt(left)-'A']--;// Remove left character from window + left++; + } + //cal longest substing length + longestSubstring=Math.max(right-left+1,longestSubstring); + } + return longestSubstring; + + } +} +```