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

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

每日题目

题目:最小差值 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


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

相关文章
|
4月前
|
算法
【算法】滑动窗口——最小覆盖子串
【算法】滑动窗口——最小覆盖子串
|
7月前
leetcode代码记录(最长连续递增序列
leetcode代码记录(最长连续递增序列
42 2
|
算法 测试技术 C#
C++算法:矩阵中的最长递增路径
C++算法:矩阵中的最长递增路径
|
算法 索引
算法训练Day36|435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间
算法训练Day36|435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间
|
算法 测试技术
算法强化每日一题--字符串中找出连续最长的数字串
算法强化每日一题--字符串中找出连续最长的数字串
|
算法 Java 网络架构
代码随想录训练营day27| 39. 组合总和 40.组合总和II 131.分割回文串
代码随想录训练营day27| 39. 组合总和 40.组合总和II 131.分割回文串
leetcode-76. 最小覆盖子串(滑动窗口)
时间复杂度:最坏情况下左右指针对 s 的每个元素各遍历一遍,哈希表中对 s 中的每个元素各插入、删除一次,对 t 中的元素各插入一次。每次检查是否可行会遍历整个 t 的哈希表,哈希表的大小与字符集的大小有关,设字符集大小为 CC,则渐进时间复杂度为 O(C⋅∣s∣+∣t∣)。
119 0
leetcode-76. 最小覆盖子串(滑动窗口)
|
人工智能 算法 JavaScript
最长连续不重复的序列
最长连续不重复的序列
|
存储 算法 容器
Leetcode 76最小覆盖子串&77组合&78子集
给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “” 。
121 0
Leetcode 76最小覆盖子串&77组合&78子集
给定一个数值,计算最合适的行列数量的代码
给定一个数值,计算最合适的行列数量的代码
103 0