Added 2 Base tests and 5 main tests for CoinChange Problem. Refactored the code and removed the Memoized approach as it was not necessary

This commit is contained in:
Mandy8055
2021-08-13 12:58:55 +05:30
parent 43e9ebc702
commit 2ee9eb965b

View File

@ -15,28 +15,3 @@ export const change = (coins, amount) => {
}
return combinations[amount]
}
function minimumCoins (coins, amount) {
// minimumCoins[i] will store the minimum coins needed for amount i
const minimumCoins = new Array(amount + 1).fill(0)
minimumCoins[0] = 0
for (let i = 1; i < amount + 1; i++) {
minimumCoins[i] = Number.MAX_SAFE_INTEGER
}
for (let i = 1; i < amount + 1; i++) {
for (let j = 0; j < coins.length; j++) {
const coin = coins[j]
if (coin <= i) {
const subRes = minimumCoins[i - coin]
if (
subRes !== Number.MAX_SAFE_INTEGER &&
subRes + 1 < minimumCoins[i]
) {
minimumCoins[i] = subRes + 1
}
}
}
}
return minimumCoins[amount]
}