Minimum Operations to Halve Array Sum - Problem
You are given an array nums of positive integers. In one operation, you can choose any number from nums and reduce it to exactly half the number. (Note that you may choose this reduced number in future operations.)
Return the minimum number of operations to reduce the sum of nums by at least half.
Input & Output
Example 1 — Basic Case
$
Input:
nums = [5,19,8,1]
›
Output:
3
💡 Note:
Original sum = 33, target reduction ≥ 16.5. Operations: halve 19→9.5 (reduction=9.5), halve 9.5→4.75 (total=14.25), halve 8→4 (total=18.25≥16.5). Answer: 3 operations.
Example 2 — Small Array
$
Input:
nums = [3,8,20]
›
Output:
3
💡 Note:
Original sum = 31, target reduction ≥ 15.5. Operations: halve 20→10 (reduction=10), halve 10→5 (total=15), halve 8→4 (total=19≥15.5). Answer: 3 operations.
Example 3 — Edge Case
$
Input:
nums = [1,1]
›
Output:
2
💡 Note:
Original sum = 2, target reduction ≥ 1. Operations: halve 1→0.5 (reduction=0.5), halve 1→0.5 (total=1≥1). Answer: 2 operations.
Constraints
- 1 ≤ nums.length ≤ 105
- 1 ≤ nums[i] ≤ 107
Visualization
Tap to expand
💡
Explanation
AI Ready
💡 Suggestion
Tab
to accept
Esc
to dismiss
// Output will appear here after running code