code: def coinChange(self, coins: List[int], amount: int) -> int:
      # bottoms up
      dp = [0] + [float("inf")] * amount
  
      for coin in coins:
          for index in range(coin, amount + 1):
              dp[index] = min(dp[index], dp[index - coin] + 1)
  
      print(dp)
  
      return dp[-1] if dp[-1] != float("inf") else -1
  
label_desc: Use image node_id 1 for calling the Solution obj's underlying member method code with example usage: obj.coinChange(coins, amount) and returns: unknown