(amount, coins)
| 115 | }; |
| 116 | |
| 117 | var initTabu = (amount, coins) => { |
| 118 | const tabu = new Array(coins.length + 1) |
| 119 | .fill() /* Time O(N) | Space O(N) */ |
| 120 | .map(() => |
| 121 | new Array(amount + 1).fill(0), |
| 122 | ); /* Time O(AMOUNT) | Space O(AMOUNT) */ |
| 123 | |
| 124 | tabu[0][0] = 1; /* | Space O(N * AMOUNT) */ |
| 125 | |
| 126 | return tabu; |
| 127 | }; |
| 128 | |
| 129 | var search = (amount, coins, tabu) => { |
| 130 | for (let coin = 1; coin <= coins.length; coin++) { |