零錢兌換 LeetCode 322

2022-06-26 14:57:12 字數 618 閱讀 8800

各種幣值的硬幣個數充足,如何使用最少的硬幣湊出指定的錢

這個題使用動態規劃解題。當前的狀態只與幣值的種類有關,所以是線性動態規劃

狀態定義:

dp[i] : 湊出i塊錢,所需硬幣的最小個數為dp[i]

狀態轉移方程:

dp[i] = min(dp[i - j], j is the value of coins)

初始狀態:

dp[0] = 0

class solution 

vectordp(amount+1, int_max);

dp[0] = 0;

for(int i = 1; i <= amount; i++)

}if(dp[i] != int_max)

dp[i] += 1;

}if(dp[amount] == int_max)

return -1;

return dp[amount];

}};// dp[i] : 湊齊i塊錢,所需的硬幣最小數量為dp[i]

// dp[i] = min(dp[i-j], j is the value of coins) + 1

// dp[0] = 0

leetcode322 零錢兌換

給定不同面額的硬幣 coins 和乙個總金額 amount。編寫乙個函式來計算可以湊成總金額所需的最少的硬幣個數。如果沒有任何一種硬幣組合能組成總金額,返回 1。示例 1 輸入 coins 1,2,5 amount 11輸出 3解釋 11 5 5 1 示例 2 輸入 coins 2 amount 3...

leetcode 322 零錢兌換

給定不同面額的硬幣 coins 和乙個總金額 amount。編寫乙個函式來計算可以湊成總金額所需的最少的硬幣個數。如果沒有任何一種硬幣組合能組成總金額,返回 1。示例 1 輸入 coins 1,2,5 amount 11 輸出 3 解釋 11 5 5 1示例 2 輸入 coins 2 amount ...

LeetCode 322 零錢兌換

322 零錢兌換 題目 給定不同面額的硬幣 coins 和乙個總金額 amount。編寫乙個函式來計算可以湊成總金額所需的最少的硬幣個數。如果沒有任何一種硬幣組合能組成總金額,返回 1。示例 1 輸入 coins 1,2,5 amount 11 輸出 3 解釋 11 5 5 1 示例 2 輸入 co...