給定乙個整數陣列 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輸出:3
解釋:b =[4
,6,3
] 1<= a.length <=
10000
0<= a[i]
<=
10000
0<= k <=
10000
類似題目:leetcode 908. 最小差值 i
class
solution
return
min(mindis, a[n-1]
-a[0])
;//第二種情況為同側偏置}}
;
68 ms 15 mb
class
solution
:# py3
defsmallestrangeii
(self, a: list[
int]
, k:
int)
->
int:
a.sort(
) mindis =
float
("inf"
) n =
len(a)
for i in
range
(n-1):
up =
max(a[i]
+k, a[n-1]
-k) down =
min(a[0]
+k, a[i+1]
-k) mindis =
min(mindis, up-down)
return
min(mindis, a[n-1]
-a[0])
# 第二種情況為同側偏置
212 ms 14.9 mb leetcode 910 最小差值 II
給定乙個整數陣列a,對於每個整數a i 我們可以選擇x k或是x k,並將x加到a i 中。在此過程之後,我們得到一些陣列b。返回b的最大值和b的最小值之間可能存在的最小差值。首先排序,可以想到,大一些的估計都要 k,小一些的都要 k,但是這個分割點不好確定,所以迴圈遍歷查詢這個分割點就行。然後需要...
LeetCode刷題筆記 910 最小差值 II
給定乙個整數陣列 a,對於每個整數 a i 我們可以選擇 x k 或是 x k,並將 x 加到 a i 中。在此過程之後,我們得到一些陣列 b。返回 b 的最大值和 b 的最小值之間可能存在的最小差值。示例 1 輸入 a 7,8,8,5,2 k 4 輸出 5 示例 2 輸入 a 4,8,2,7,2 ...
LeetCode最小差值 I
給你乙個整數陣列 a,對於每個整數 a i 我們可以選擇處於區間 k,k 中的任意數 x 將 x 與 a i 相加,結果存入 a i 在此過程之後,我們得到一些陣列 b。返回 b 的最大值和 b 的最小值之間可能存在的最小差值。示例 1 輸入 a 1 k 0 輸出 0 解釋 b 1 示例 2 輸入 ...