Minimize Deviation in Array

You are given an array nums of n positive integers.

You can perform two types of operations on any element of the array any number of times:

  • If the element is even, divide it by 2.
  • If the element is odd, multiply it by 2.

The deviation of the array is the maximum difference between any two elements in the array.

Return the minimum deviation the array can have after performing some number of operations.

Example 1
Inputnums = [1,2,3,4]
Output1
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
Inputnums = [4,1,5,20,3]
Output3
You can transform the array after two operations to [4, 2, 5, 5, 3], then the deviation will be 5 - 2 = 3.

Constraints

  • n == nums.length
  • 2 <= n <= 5 * 10^4
  • 1 <= nums[i] <= 10^9

Asked at 1 companies

</>

Your Solution

(Ctrl/Cmd + Enter)

Switching Language

Loading template...

Loading...

Sign in to save your progress

AI code evaluation

Get a correctness verdict, missed edge cases, and complexity analysis of your solution.

Sign in to evaluate