mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-19 01:55:51 +08:00
18 lines
512 B
JavaScript
18 lines
512 B
JavaScript
/**
|
|
* @params {Array} coins
|
|
* @params {Number} amount
|
|
*/
|
|
export const change = (coins, amount) => {
|
|
// Create and initialize the storage
|
|
const combinations = new Array(amount + 1).fill(0)
|
|
combinations[0] = 1
|
|
// Determine the direction of smallest sub-problem
|
|
for (let i = 0; i < coins.length; i++) {
|
|
// Travel and fill the combinations array
|
|
for (let j = coins[i]; j < combinations.length; j++) {
|
|
combinations[j] += combinations[j - coins[i]]
|
|
}
|
|
}
|
|
return combinations[amount]
|
|
}
|