当前位置: 首页 > news >正文

【从零开始的LeetCode-算法】910. 最小差值 II

给你一个整数数组 nums,和一个整数 k 。

对于每个下标 i0 <= i < nums.length),将 nums[i] 变成 nums[i] + k 或 nums[i] - k 。

nums 的 分数 是 nums 中最大元素和最小元素的差值。

在更改每个下标对应的值之后,返回 nums 的最小 分数 。

示例 1:

输入:nums = [1], k = 0
输出:0
解释:分数 = max(nums) - min(nums) = 1 - 1 = 0 。

示例 2:

输入:nums = [0,10], k = 2
输出:6
解释:将数组变为 [2, 8] 。分数 = max(nums) - min(nums) = 8 - 2 = 6 。

示例 3:

输入:nums = [1,3,6], k = 3
输出:3
解释:将数组变为 [4, 6, 3] 。分数 = max(nums) - min(nums) = 6 - 3 = 3 。

提示:

  • 1 <= nums.length <= 10^4
  • 0 <= nums[i] <= 10^4
  • 0 <= k <= 10^4

我的解答:

class Solution {public int smallestRangeII(int[] nums, int k) {Arrays.sort(nums);int min_num = nums[0],max_num = nums[nums.length - 1];int res = max_num - min_num;  for(int i = 0;i < nums.length - 1; i++){int a = nums[i],b = nums[i + 1];res = Math.min(res,Math.max(max_num - k,a + k) - Math.min(min_num + k, b - k));}return res;}
}

http://www.lryc.cn/news/465357.html

相关文章:

  • 周报 | 24.10.14-24.10.20文章汇总
  • Codeforce 980 Div2 A-D 题解
  • 一次代码优化的过程
  • 多线程的学习(1)
  • PyCharm借助MobaXterm跳板机连接服务器
  • 计算机毕业论文基于Android 的签到系统设计与实现
  • 量化学习-02
  • SAP_MM模块-设置业务合作伙伴类型字段必输(多种方案)
  • STM32平台上实现串口接收不定长数据-实际项目中应用
  • AWD入门
  • T3矩阵看功率
  • VLMEvalKit多模态大模型评测工具源码解析
  • 将 Docker 安装到指定目录
  • 哪些企业需要部署SD-WAN?
  • 通信基站类型、频段与网络标准
  • Java IO教程之Java 文件一口气讲完!( *︾▽︾)
  • 如何在 Ubuntu 24 上安装 Vmware Tools
  • 内网穿透:如何借助Cloudflare连接没有公网的电脑的远程桌面(RDP)
  • 明星作家都在使用的电子书制作工具,现在向大家介绍
  • 简单认识Maven 3-认识pop.Xml配置文件中的代码
  • LangChain4j系列—OpenAI开发实例
  • Java 中简化操作集合的方法
  • ArcGIS Pro SDK (十七)宗地结构
  • D. Co-growing Sequence
  • docker配置加速器
  • JS事件和DOM
  • CAS 详解
  • AI大模型那么火,教你一键Modelarts玩转开源LlaMA(羊驼)大模型
  • Spring AI Alibaba: 支持国产大模型的Spring ai框架
  • ChatGPT4o、o1 谁才是最佳大模型?