Minimum Coins for a Target
Problem statement
Given an integer array coins of positive denominations and a nonnegative integer target, return the minimum number of coins needed to sum exactly to target.
You may use each denomination any number of times. Return -1 when no combination reaches the target. A target of 0 requires 0 coins.
Function
minCoins(coins: int[], target: int) → intExamples
Example 1
coins = [1,2,5]target = 11return = 3The target can be formed as 5 + 5 + 1, using three coins, and no two-coin combination reaches 11.
Example 2
coins = [2]target = 3return = -1No number of coins with denomination 2 can sum to 3.
Example 3
coins = [2,3]target = 0return = 0The empty selection already has sum 0.
Constraints
1 <= coins.length <= 2001 <= coins[i] <= 1000000 <= target <= 100000- Duplicate denominations may appear in
coins.
Source note: Author-written prompt excerpt retained for source fidelity.