leetcode 908 最小差值 I

2021-09-01 05:50:09 字數 1129 閱讀 3332

給定乙個整數陣列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 <= 100000 <= a[i] <= 100000 <= 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 ...