【康复学习--LeetCode每日一题】2779. 数组的最大美丽值

题目:

给你一个下标从 0 开始的整数数组 nums 和一个 非负 整数 k 。
在一步操作中,你可以执行下述指令:
在范围 [0, nums.length - 1] 中选择一个 此前没有选过 的下标 i 。
将 nums[i] 替换为范围 [nums[i] - k, nums[i] + k] 内的任一整数。
数组的 美丽值 定义为数组中由相等元素组成的最长子序列的长度。
对数组 nums 执行上述操作任意次后,返回数组可能取得的 最大 美丽值。
注意:你 只 能对每个下标执行 一次 此操作。
数组的 子序列 定义是:经由原数组删除一些元素(也可能不删除)得到的一个新数组,且在此过程中剩余元素的顺序不发生改变。

示例 1:
输入: nums = [4,6,1,2], k = 2
输出: 3
解释: 在这个示例中,我们执行下述操作:

  • 选择下标 1 ,将其替换为 4(从范围 [4,8] 中选出),此时 nums = [4,4,1,2] 。
  • 选择下标 3 ,将其替换为 4(从范围 [0,4] 中选出),此时 nums = [4,4,1,4] 。
    执行上述操作后,数组的美丽值是 3(子序列由下标 0 、1 、3 对应的元素组成)。
    可以证明 3 是我们可以得到的由相等元素组成的最长子序列长度。

示例 2:
输入: nums = [1,1,1,1], k = 10
输出: 4
解释: 在这个示例中,我们无需执行任何操作。
数组 nums 的美丽值是 4(整个数组)。

提示:
1 <= nums.length <= 105
0 <= nums[i], k <= 105

题目链接

思路:

等价于找到最大最小值之差小于等于 2k 的最长连续子数组,可使用滑动窗口遍历来解:max-min<=2k

代码:

class Solution {// 滑动窗口public int maximumBeauty(int[] nums, int k) {int res = 0, n = nums.length;Arrays.sort(nums);for(int i = 0, j = 0; i < n; i++){while(nums[i] - 2 * k > nums[j]){j++;}res = Math.max(res, i - j + 1);}return res;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/29187.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity基础(一)unity的下载与安装

目录 一:下载与安装 1.官网下载地址 2.推荐直接下载UnityHub 3.选择编辑器版本(推荐长期支持版) 4.在UnityHub安装选择相应的模块 二:创建项目 简介: Unity 是一款广泛应用的跨平台游戏开发引擎。 它具有以下显著特点&#xff1a; 强大的跨平台能力&#xff1a;能将开发的游…

带你认识Spring Boot Starter

一、什么是 Spring Boot Starter&#xff1f; 在SpringBoot项目中&#xff0c;经常能够在pom文件中看到以spring-boot-starter-xx或xx-spring-boot-starter命名的一些依赖。例如&#xff1a;spring-boot-starter-web、spring-boot-starter-security、spring-boot-starter-data…

JavaScript之内置对象

内置对象 JavaScript中的对象分为3种&#xff1a;自定义对象、内置对象、浏览器对象前面两种对象是javascript基础内容&#xff0c;属于ECMAScript&#xff1b;第三个浏览器对象属于我们javascript独有的&#xff0c;我们javascript API讲解 内置对象就是指javascript语言自带…

ssldump一键分析网络流量(KALI工具系列二十二)

目录 1、KALI LINUX 简介 2、ssldump工具简介 3、在KALI中使用ssldump 3.1 目标主机IP&#xff08;win&#xff09; 3.2 KALI的IP 4、操作示例 4.1 监听指定网卡 4.2 指定端口 4.3 特定主机 4.4 解码文件 4.5 显示对话摘要 4.6 显示加密数据&#xff08;需要私钥&…

编程城市怎么输入:揭秘数字化世界的输入之道

编程城市怎么输入&#xff1a;揭秘数字化世界的输入之道 在数字化时代的浪潮中&#xff0c;编程已成为连接现实与虚拟世界的桥梁。而在编程的世界中&#xff0c;输入作为最基本且关键的一环&#xff0c;其重要性不言而喻。那么&#xff0c;在编程城市这个充满神秘色彩的数字领…

Spring boot 启动报:Do not use @ for indentation

一、使用maven插件动态切换配置时出现报错 二、配置文件及pom 2.1 配置文件结构 2.2 application.yml spring: # 根据环境读取配置文件&#xff08;手动&#xff09; # profiles: # active: dev# 根据环境读取配置文件&#xff08;通过勾选maven插件&#xff09;profiles…

神仙级AI大模型入门教程(非常详细),从零基础入门到精通,从看这篇开始!

一.初聊大模型 1.为什么要学习大模型&#xff1f; 在学习大模型之前&#xff0c;你不必担心自己缺乏相关知识或认为这太难。我坚信&#xff0c;只要你有学习的意愿并付出努力&#xff0c;你就能够掌握大模型&#xff0c;并能够用它们完成许多有意义的事情。在这个快速变化的时…

codeforces round 953 div2

A Alice and books 题目&#xff1a; 思路&#xff1a;编号最大的肯定会被读到&#xff0c;所以在编号最大的这一组书中不能存在除去最大编号的外书外页数最大的书&#xff0c;并且在另一堆中这本书的编号也应该是最大值 代码&#xff1a; #include <iostream>using…

郑州设计资质延续流程:人员社保的审核标准是什么?

郑州设计资质延续流程中&#xff0c;人员社保的审核标准如下&#xff1a; 一、社保缴纳期限 审核标准&#xff1a;人员&#xff08;技术负责人、注册人员等&#xff09;的社保考核期限恢复为3个月。需要提供相关人员至少连续3个月的社保缴纳记录。 二、社保缴纳主体 审核标准…

Object.defineProperty()

这是 js 中一个非常重要的方法&#xff0c;ES6 中某些方法的实现依赖于它&#xff0c;VUE 通过它实现双向绑定&#xff0c;此方法会直接在一个对象上定义一个新属性&#xff0c;或者修改一个已经存在的属性&#xff0c; 并返回这个对象 解析&#xff1a; ## 语法 Object.defin…

DDei在线设计器-API-DDeiEditor

DDeiEditor DDeiEditor是DDei设计器的核心类&#xff0c;每当使用DDeiEditorViewer都会生成一个组件实例&#xff0c;其中的editor属性类型为DDeiEditor。 DDeiEditor实例包含了组件的所有数据&#xff0c;在获取后可以通过它访问其他内容。DDeiEditor中维护了一个实例池&#…

python 【包含数据预处理】基于词频生成词云图

基于词频生成词云图 背景目的 有一篇中文文章&#xff0c;或者一本小说。想要根据词频来生成词云图。 为什么中文需要分词 中文分词是理解和处理中文文本的关键步骤&#xff0c;它直接影响到后续的文本分析和信息提取的准确性和有效性。 无明显单词分隔&#xff1a;中文文本不…

Einops 张量操作快速入门

张量&#xff0c;即多维数组&#xff0c;是现代机器学习框架的支柱。操纵这些张量可能会变得冗长且难以阅读&#xff0c;尤其是在处理高维数据时。Einops 使用简洁的符号简化了这些操作。 Einops &#xff08;Einstein-Inspired Notation for operations&#xff09;&#xff…

BGP、IGP、EGP学习

文章目录 前言边界网关协议&#xff08;BGP&#xff09;内部网关协议&#xff08;IGP&#xff09;外部网关协议&#xff08;EGP&#xff09;联系与区别 前言 本文是对边界网关协议&#xff08;BGP&#xff09;、内部网关协议&#xff08;IGP&#xff09;和外部网关协议&#x…

linux top命令显示系统资源使用情况

通过这些键盘快捷键和操作&#xff0c;您可以在 top 命令中查看特定的系统资源使用情况&#xff0c;按不同的指标对进程进行排序&#xff0c;以及更好地监视系统的运行情况。 top 或 htop&#xff1a;显示系统资源使用情况&#xff0c;包括 CPU 占用、内存使用以及运行的进程信…

NLP学习与踩坑记录(持续更新版)

NLP学习与踩坑记录&#xff08;持续更新版&#xff09; OSError: Cant load tokenizer for bert-base-uncased.google.protobuf.message.DecodeError: Error parsing messageDeepspeed 本博客记录了博主在学习NLP时遇到了各种各样的问题与解决方法&#xff0c;供大家参考&#…

JS最新的关键字和保留字

在JavaScript中&#xff0c;关键字和保留字是用于定义语言语法和特性的特殊标识符。这些关键字和保留字不能被用作变量名、函数名或其他标识符。以下是JavaScript中最新的关键字和保留字的分点表示和归纳&#xff1a; 关键字&#xff08;Keywords&#xff09; JavaScript中的…

oracle SCHEDULER

从Oracle 10g开始&#xff0c;推荐使用DBMS_SCHEDULER包&#xff0c;因为它提供了更强大的功能和灵活性&#xff0c;包括更复杂的调度规则、依赖管理和事件驱动等 1. 用法 DBMS_SCHEDULER.CREATE_JOB (job_name IN VARCHAR2,job_type IN VARCHAR2,job…

软件测试流派:深入比较与总结

软件测试流派&#xff1a;深入比较与总结 前言1. 分析流派2. 标准流派3. 质量流派4. 上下文驱动流派5. 敏捷流派流派比较与总结 前言 在现代软件开发中&#xff0c;不同的软件测试流派代表了各自独特的方法论、实践重点和案例应用。理解这些流派的差异有助于选择适合特定项目需…

温度传感器NST175手册阅读

温度传感器NST175手册阅读 首先看芯片的输入和输出&#xff1a;主要关注IIC接口&#xff0c;毕竟是要驱动这个芯片读取温度。在编写此博客时还未对改温度传感器进行调试&#xff0c;只是阅读手册&#xff0c;把需要重点关注的地方标记出来。 一、芯片管脚 二、温度输出格式 …