給定乙個整數陣列 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]
1 <= a.length <= 10000
0 <= a[i] <= 10000
0 <= k <= 10000
理解題意很重要,這個題意分析了好多遍參看了別人的分析才理解
class solution
for(int i =0;imax)
}if((max-min)<=2*k)else
}}
class solution {
public int smallestrangei(int a, int k) {
int diff=0;
int max=0;
int min=10000;
for(int i=0;imax)
max=a[i];
if(a[i]可以看出大體思路相同,別人的有中間變數,減少多次計算,語句更加簡潔
leetcode 908 最小差值
因為加上的數是在k到 k範圍內,所以難度小了很多。題目 給定乙個整數陣列 a,對於每個整數 a i 我們可以選擇任意 x 滿足 k x k,並將 x 加到 a i 中。在此過程之後,我們得到一些陣列 b。返回 b 的最大值和 b 的最小值之間可能存在的最小差值。思路 因為每個數可以加上的範圍是在k到...
leetcode 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 示例...
LeetCode 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 ...