4005. Minimum Operations to Make Array Equal III 🔒
题目描述
You are given an integer array nums.
In one operation, you may choose any element nums[i] and perform one of the following:
- Multiply
nums[i]by an integerk, wherek >= 2. - Divide
nums[i]by an integerk, where2 <= k < nums[i], provided thatnums[i]is divisible byk.
Return the minimum number of operations required to make all elements of nums equal.
Example 1:
Input: nums = [6,12,8]
Output: 3
Explanation:
We can perform following operates to make all numbers to 6:
- Divide
nums[1] = 12by 2 to get 6. - Divide
nums[2] = 8by 4 to get 2. - Multiply
nums[2] = 2by 3 to get 6.
Example 2:
Input: nums = [5,15,20]
Output: 2
Explanation:
We can perform following operates to make all numbers to 5:
- Divide
nums[1] = 15by 3 to get 5. - Divide
nums[2] = 20by 4 to get 5.
Example 3:
Input: nums = [7,7,7]
Output: 0
Explanation:
All elements are already equal, so no operations are needed.
Constraints:
1 <= nums.length <= 1051 <= nums[i] <= 109
解法
方法一
1 | |
1 | |
1 | |
1 | |