Minimum Number of Operations to Make Arrays Similar - Problem
You are given two positive integer arrays nums and target, of the same length.
In one operation, you can choose any two distinct indices i and j where 0 <= i, j < nums.length and:
- set
nums[i] = nums[i] + 2and - set
nums[j] = nums[j] - 2.
Two arrays are considered to be similar if the frequency of each element is the same.
Return the minimum number of operations required to make nums similar to target. The test cases are generated such that nums can always be similar to target.
Input & Output
Example 1 — Basic Case
$
Input:
nums = [8,6,4,2], target = [6,4,8,2]
›
Output:
1
💡 Note:
We can make nums similar to target in one operation: transfer 2 from nums[0] to nums[1] to get [6,8,4,2], which has the same frequencies as target.
Example 2 — No Operations Needed
$
Input:
nums = [1,2,3,4], target = [2,1,4,3]
›
Output:
0
💡 Note:
nums and target already have the same frequency of each element: one 1, one 2, one 3, one 4. No operations needed.
Example 3 — Multiple Operations
$
Input:
nums = [1,1,1,1], target = [1,1,9,9]
›
Output:
4
💡 Note:
Need to convert two 1's to 9's. Each 1→9 requires 4 operations: 1→3→5→7→9. But we do it optimally by transferring from one element to another.
Constraints
- n == nums.length == target.length
- 1 ≤ n ≤ 105
- 1 ≤ nums[i], target[i] ≤ 106
- nums and target have the same sum
Visualization
Tap to expand
💡
Explanation
AI Ready
💡 Suggestion
Tab
to accept
Esc
to dismiss
// Output will appear here after running code