| 12345678910111213141516171819202122 | func coinChange(coins []int, amount int) int {	dp := make([]int, amount+1)	for i := 1; i <= amount; i++ { // dp[0] is 0		dp[i] = amount + 1	}	for _, coin := range coins {		for i := coin; i <= amount; i++ {			dp[i] = minInt(dp[i], dp[i-coin]+1)		}	}	if amount < dp[amount] {		return -1	}	return dp[amount]}func minInt(x, y int) int {	if x < y {		return x	}	return y}
 |