Minimize Deviation in Array LeetCode solution in Python
1class Solution:2def minimumDeviation(self, nums: List[int]) -> int:34from sortedcontainers import SortedList56for i in range(len(nums)):78if nums[i] % 2 != 0:9nums[i] = nums[i] * 21011nums = SortedList(nums)1213result = 1000000000001415while True:16min_value = nums[0]17max_value = nums[-1]1819if max_value % 2 == 0:20nums.pop()21nums.add(max_value // 2)22max_value = nums[-1]23min_value = nums[0]2425result = min(result, max_value - min_value)26else:27result = min(result, max_value - min_value)28break2930return result