#1675

Minimize Deviation in Array

candidate master · 1320 · lc hard +32 · premium · verified · 54% accepted · 3,086 likes · top 46%

Description

You are given a positive integer array nums. You may: divide any even element by 2, or multiply any odd element by 2, any number of times. The deviation is the difference between the maximum and minimum values. Return the minimum achievable deviation.

Example 1:

Input: nums = [1,2,3,4]
Output: 1
Explanation: You can transform the array to [1,2,3,2], then to [2,2,3,2], then the deviation will be 3 - 2 = 1.

Example 2:

Input: nums = [4,1,5,20,3]
Output: 3
Explanation: You can transform the array after two operations to [4,2,5,5,3], then the deviation will be 5 - 2 = 3.

Example 3:

Input: nums = [2,10,8]
Output: 3

Code

1
2
3