2958、最多K个重复元素的最长子数组

题目:

2958、最多K个重复元素的最长子数组_第1张图片

解答:

在上一题的基础上,修改一下即可。上一题是哈希表的value与1相比,本题改成与k相比即可。

class Solution {
public:
    int maxSubarrayLength(vector& nums, int k) {
        unordered_map cnt;
        int left=0,right=0;
        int len = nums.size();
        int ans = 0;
        for(right;rightk){
                cnt[nums[left]]--;
                left++;
            }
            ans = max(ans,right-left+1);
        }
        return ans;
    }
};

时间复杂度O(n)

空间复杂度O(n)

你可能感兴趣的:(#,滑动窗口,leetcode,leetcode,算法,数据结构)