2524:子数组的最大频率分数(★★)
目录
题目
给定一个整数数组 nums
和一个 正 整数 k
。
数组的 频率得分 是数组中 不同 值的 幂次 之和,并将和对 109 + 7
取模。
例如,数组 [5,4,5,7,4,4]
的频率得分为 (43 + 52 + 71) modulo (109 + 7) = 96
。
返回 nums
中长度为 k
的 子数组 的 最大 频率得分。你需要返回取模后的最大值,而不是实际值。
子数组 是一个数组的连续部分。
示例 1 :
输入:nums = [1,1,1,2,1,2], k = 3 输出:5 解释:子数组 [2,1,2] 的频率分数等于 5。可以证明这是我们可以获得的最大频率分数。
示例 2 :
输入:nums = [1,1,1,1,1,1], k = 4 输出:1 解释:所有长度为 4 的子数组的频率得分都等于 1。
提示:
1 <= k <= nums.length <= 105
1 <= nums[i] <= 106
分析
- 哈希表维护每个数的频率,滑动窗口维护得分即可
解答
|
|
463 ms