1675. Minimize Deviation in Array

Hard

2.9K

159

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`

.- For example, if the array is
`[1,2,3,4]`

, then you can do this operation on the last element, and the array will be`[1,2,3,`

__2__].

- For example, if the array is
- If the element is
**odd**,**multiply**it by`2`

.- For example, if the array is
`[1,2,3,4]`

, then you can do this operation on the first element, and the array will be`[`

__2__,2,3,4].

- For example, if the array is

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:**

Input:nums = [1,2,3,4]Output:1Explanation: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:3Explanation: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

**Constraints:**

`n == nums.length`

`2 <= n <= 5 * 10`

^{4}`1 <= nums[i] <= 10`

^{9}

Accepted

87.7K

Submissions

160.7K

Acceptance Rate

54.6%

Seen this question in a real interview before?

1/4

Yes

No

Discussion (0)

Related Topics

Copyright ©️ 2023 LeetCode All rights reserved