2779专题

2779. 数组的最大美丽值

简单翻译一下题目意思: 对于每个 nums[i] 都可以被替换成 [nums[i]-k, nums[i]+k] 区间中的任何数,区间左右是闭的。在每个数字可以替换的前提下,返回数组中最多的重复数字的数量。 第一想法是用一个哈希表,Key 是可以被替换的数,Value 是这个数出现的次数,那最后遍历这个哈希表,找到 Value 最大的就可以。 class Solution {public in

2779.数组的最大美丽值

解题思路 元素顺序对求最美值没有影响,可以先对数组进行排序。 假设选取的相同整数为 x x x,则数组元素能够改变到 x x x的元素值范围为: [ x − k , x + k ] [x-k, x+k] [x−k,x+k]。所以如果能够在排序后的数组中找到最值差小于等于 2 k 2k 2k的最长连续子数组,其长度即为最大美丽值。 C++ 下面双重会超时的。 class Solution {

LeetCode:2779. 数组的最大美丽值(滑动窗口 Java)

目录 2779. 数组的最大美丽值 题目描述: 实现代码与解析: 滑动窗口 原理思路: 2779. 数组的最大美丽值 题目描述:         给你一个下标从 0 开始的整数数组 nums 和一个 非负 整数 k 。 在一步操作中,你可以执行下述指令: 在范围 [0, nums.length - 1] 中选择一个 此前没有选过 的下标 i 。将 nums[i] 替