給定乙個整數陣列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
思路:這題中心思想就是「補齊短板」,只需要盯住最大最小值就行。分兩種情況:1)max - min >= 2k;2)max - min <2k
class solution(object):
def smallestrangei(self, a, k):
""":type a: list[int]
:type k: int
:rtype: int
"""if len(a) == 1:
return 0
res = max(a) - min(a)
if res >= 2*k:
return res -2*k
else:
return 0
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 ...
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 ...