-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsmallestRangeI.py
More file actions
42 lines (33 loc) · 1.04 KB
/
smallestRangeI.py
File metadata and controls
42 lines (33 loc) · 1.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# 908. 最小差值1
from typing import List
class Solution:
# def smallestRangeI(self, nums: List[int], k: int) -> int:
# a, b = min(nums), max(nums)
# if a + k >= b - k:
# return 0
# return (b - k) - (a + k)
# def smallestRangeI(self, nums: List[int], k: int) -> int:
# small, big = min(nums), max(nums)
# if small + k >= big - k:
# return 0
# return big - k - (small + k)
# def smallestRangeI(self, nums: List[int], k: int) -> int:
# min_v, max_v = min(nums), max(nums)
# if len(nums) == 1 or min_v + k >= max_v - k:
# return 0
# return max_v - k - (min_v + k)
def smallestRangeI(self, nums: List[int], k: int) -> int:
min_v, max_v = min(nums), max(nums)
if min_v + k >= max_v - k:
return 0
return max_v - k - (min_v + k)
s = Solution()
nums = [1]
k = 0
print(s.smallestRangeI(nums, k))
nums = [0,10]
k = 2
print(s.smallestRangeI(nums, k))
nums = [1,3,6]
k = 3
print(s.smallestRangeI(nums, k))