ds-algo-study
Version:
Just experimenting with publishing a package
12 lines (11 loc) • 338 B
JavaScript
function minChange(coins, amount, memo = {}) {
if (amount === 0) return 0;
if (memo[amount]) return memo[amount];
let potentialCoins = [];
coins.forEach((coin) => {
if (coin <= amount) {
potentialCoins.push(minChange(coins, amount - coin, memo) + 1);
}
});
return (memo[amount] = Math.min(...potentialCoins));
}