程式語言 - LeetCode - C++ - 424. Longest Repeating Character Replacement



題目:


解答:

class Solution {
public:
    int characterReplacement(string s, int k) {
        int l = 0;
        int m = 0;
        int ans = 0;
        vector<int> cnt(26);

        for (int r = 0; r < s.size(); ++r) {
            cnt[s[r] - 'A'] += 1;
            m = max(m, cnt[s[r] - 'A']);

            while (r - l + 1 - m > k) {
                cnt[s[l] - 'A'] -= 1;
                l += 1;
            }

            ans = max(ans, r - l + 1);
        }

        return ans;
    }
};