• 這一題是求 maxcnt 而不是求 window size
  • condition 是 window_size - maxcnt > k
  • 接著套不定長 sliding window。
class Solution {
public:
    int longestEqualSubarray(vector<int>& nums, int k) {
        int res = 0, left = 0, right = 0, n = nums.size();
        int maxcnt = 0;
        unordered_map<int,int> cnt;
        while (right < n) {
            int num = nums[right++];
            maxcnt = max(maxcnt, ++cnt[num]);
            while (right-left-maxcnt > k) cnt[nums[left++]]--;
            res = max(res, maxcnt);
        }
        return res;
    }
};