最小差值(附加单词积累)

简介: 最小差值(附加单词积累)

每日题目

题目:最小差值 I


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


在一个操作中,您可以选择 0 <= i < nums 的任何索引 i 。将 nums[i] 改为 nums[i] + x ,其中 x 是一个范围为 [-k, k] 的整数。对于每个索引 i ,最多 只能 应用 一次 此操作。


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


在对nums中的每个索引最多应用一次上述操作后,返回 nums 的最低 分数 。


示例:


示例 1:


输入:nums = [1], k = 0

输出:0

解释:分数是 max(nums) - min(nums) = 1 - 1 = 0。

示例 2:


输入:nums = [0,10], k = 2

输出:6

解释:将 nums 改为 [2,8]。分数是 max(nums) - min(nums) = 8 - 2 = 6。

示例 3:


输入:nums = [1,3,6], k = 3

输出:0

解释:将 nums 改为 [4,4,4]。分数是 max(nums) - min(nums) = 4 - 4 = 0。


提示:


1 <= nums.length <= 104

0 <= nums[i] <= 104

0 <= k <= 104


代码:


class Solution {
    public int smallestRangeI(int[] nums, int k) {
        int res =0;
        int max = Integer.MIN_VALUE;
        int min = Integer.MAX_VALUE;
        //取最大最小值
        for (int num : nums) {
            max = Math.max(max, num);
            min = Math.min(min, num);
        }
        //这样取最大最小值速度慢
//        Arrays.sort(nums);
//        min = nums[0];
//        max = nums[nums.length - 1];
        //最大值减k,最小值加k,然后算差值res
        res = max - min - 2 * k;
        //因为k可变,如果res<0,就证明可以把最大最小值变成一样,so,res = 0
        if(res < 0) {
            res = 0;
        }
        return res;
    }
}

每日单词

1.png


以上就是最小差值(附加单词积累)的全部内容

相关文章
livp图片怎么打开以及怎么转换成jpg格式教程
livp图片怎么打开以及怎么转换成jpg格式教程
|
新能源 芯片
半导体技术的发展与应用
一、半导体的定义与特性 1.1 什么是半导体 半导体是一种介于导体和绝缘体之间的材料,其导电性介于金属和非金属之间。半导体的电阻率介于导体和绝缘体之间,具有导电能力,但不像金属那样导电能力强。 1.2 半导体的特性 半导体的最重要特性之一是其导电性能的可控性。通过控制半导体材料的杂质掺入和电场作用,可以改变其导电性能,从而实现各种电子器件的设计与制造。 二、半导体技术的发展历程 2.1 半导体的早期发展 20世纪初,人们开始研究半导体材料,但当时对半导体的认识非常有限,无法实现对其导电性能的控制。直到20世纪40年代末,人们才开始逐渐认识到半导体材料的重要性。 2.2 半导体技术的突破 在20
363 0
C++ 编译错误 error: ‘cout‘ was not declared in this scope (摄氏度与华氏度的转换)
C++ 编译错误 error: ‘cout‘ was not declared in this scope (摄氏度与华氏度的转换)
C++ 编译错误 error: ‘cout‘ was not declared in this scope (摄氏度与华氏度的转换)
|
10月前
|
机器学习/深度学习 编解码 知识图谱
RT-DETR改进策略【卷积层】| HWD,引入`Haar小波变换`到下采样模块中,减少信息丢失
RT-DETR改进策略【卷积层】| HWD,引入`Haar小波变换`到下采样模块中,减少信息丢失
438 11
RT-DETR改进策略【卷积层】| HWD,引入`Haar小波变换`到下采样模块中,减少信息丢失
|
JavaScript 前端开发 数据安全/隐私保护
一文带你了解多文件混淆加密
一文带你了解多文件混淆加密
297 5
一文带你了解多文件混淆加密
|
监控 关系型数据库 数据库
PostgreSQL和greenplum的copy命令如何使用?
【6月更文挑战第5天】PostgreSQL和greenplum的copy命令如何使用?
554 2
|
Web App开发 缓存 前端开发
《手把手教你》系列技巧篇(四十四)-java+ selenium自动化测试-处理https 安全问题或者非信任站点-下篇(详解教程)
【5月更文挑战第8天】这篇文档介绍了如何在IE、Chrome和Firefox浏览器中处理不信任证书的问题。作者北京-宏哥分享了如何通过编程方式跳过浏览器的证书警告,直接访问不受信任的HTTPS网站。文章分为几个部分,首先简要介绍了问题背景,然后详细讲解了在Chrome浏览器中的两种方法,包括代码设计和运行效果,并给出了其他浏览器的相关信息和参考资料。最后,作者总结了处理此类问题的一些通用技巧。
499 2
|
存储 数据管理 Linux
文件系统类型及其特点与适用场景分析
文件系统类型及其特点与适用场景分析
|
监控 机器人 BI
基于钉钉的阿里云管理实践(二)之消息接收
在企业云资源的日常管理中,实时监控和报警通知对于维持系统稳定性至关重要。阿里云提供了一系列的监控服务,可以对云资源进行实时监控,并在出现问题时发送报警。将这些报警消息及时推送到钉钉,可以让团队成员迅速响应,采取必要的措施。本教程将指导您如何将阿里云账号的报警监控消息推送到钉钉上。
812 1
基于钉钉的阿里云管理实践(二)之消息接收