🗒️1838. 最高频元素的频数(二刷)
2025-4-8
| 2025-4-8
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
创建时间
Apr 8, 2025 01:40 AM
元素的 频数 是该元素在一个数组中出现的次数。
给你一个整数数组 nums 和一个整数 k 。在一步操作中,你可以选择 nums 的一个下标,并将该下标对应元素的值增加 1 。
执行最多 k 次操作后,返回数组中最高频元素的 最大可能频数 

不定长滑动窗口

基本思路:找到窗口移动的判断条件。
在本题中,判断窗口移动的判断条件是窗口中操作元素的次数不超过 k 次。
如何判断元素操作次数不超过 k 次呢?题目中给了条件,每次都只能将元素的值增加 1,不能进行减少。因此,我们每次来了新元素,需要向新元素看齐。
notion image
因此,每次新添加一个元素,需要增加的操作数为 (nums[r] - nums[r - 1]) * (r - l)
注意:本题是每次只能增加 1,具有单调性。如果题目没有这个要求,就没办法采用这个做法。

📎 参考

  • 【题单】滑动窗口与双指针
  • 2516. 每种字符至少取 K 个(二刷)2779. 数组的最大美丽值(二刷)
    Loading...