Minimize Deviation in Array LeetCode solution in Python

1
class Solution:
2
def minimumDeviation(self, nums: List[int]) -> int:
3

4
from sortedcontainers import SortedList
5

6
for i in range(len(nums)):
7

8
if nums[i] % 2 != 0:
9
nums[i] = nums[i] * 2
10

11
nums = SortedList(nums)
12

13
result = 100000000000
14

15
while True:
16
min_value = nums[0]
17
max_value = nums[-1]
18

19
if max_value % 2 == 0:
20
nums.pop()
21
nums.add(max_value // 2)
22
max_value = nums[-1]
23
min_value = nums[0]
24

25
result = min(result, max_value - min_value)
26
else:
27
result = min(result, max_value - min_value)
28
break
29

30
return result

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0