The algorithm: Create dp array of size amount+, initialized to infinity (or amount+) Set dp[] = For each amount from to target: - For each coin, if coin <= current amount: - dp[amount] = min(dp[amount], dp[amount - coin] + ) Return dp[target] if it's not infinity, else
##### ###### ##### ### # # ### # # ###### ## ## ## ## ## ## ## # # # # # ## ##### #### ##### # # # # # # # #### ## # ## ## ## ## # # # # # ## ## # ###### ## ### # ### # ######
$ curl repovive.com/roadmaps/maang-interview-prep/dynamic-programming/coin-change-solution
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██████████████████████████████████████████████████████████████████████████████████████████