908. 最小差值 I

给定一个整数数组 A,对于每个整数 A[i],我们可以选择任意 x 满足 -K <= x <= K,并将 x 加到 A[i] 中。

在此过程之后,我们得到一些数组 B。

返回 B 的最大值和 B 的最小值之间可能存在的最小差值。

示例 1:
输入:A = [1], K = 0
输出:0
解释:B = [1]

示例 2:
输入:A = [0,10], K = 2
输出:6
解释:B = [2,8]

示例 3:
输入:A = [1,3,6], K = 3
输出:0
解释:B = [3,3,3] 或 B = [4,4,4]

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/smallest-range-i
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

题解

题意为:求数组中最大值与最小值加上 x (-K <= x <= K) 后他们的最小差,如果小于0则取0,即min(0 , max(A[i] + x) - min(A[i] + x))

/**
 * @param {number[]} A
 * @param {number} K
 * @return {number}
 */
var smallestRangeI = function(A, K) {
    return Math.max(0, Math.max.apply(null, A) - Math.min.apply(null, A) - 2 * K)
};

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注