日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

518. 零钱兑换 II golang动态规划

發(fā)布時(shí)間:2023/11/30 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 518. 零钱兑换 II golang动态规划 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

518. 零錢兌換 II

給定不同面額的硬幣和一個(gè)總金額。寫出函數(shù)來計(jì)算可以湊成總金額的硬幣組合數(shù)。假設(shè)每一種面額的硬幣有無限個(gè)。

示例 1:

輸入: amount = 5, coins = [1, 2, 5]
輸出: 4
解釋: 有四種方式可以湊成總金額:
5=5
5=2+2+1
5=2+1+1+1
5=1+1+1+1+1
示例 2:

輸入: amount = 3, coins = [2]
輸出: 0
解釋: 只用面額2的硬幣不能湊成總金額3。
示例 3:

輸入: amount = 10, coins = [10]
輸出: 1

注意:

你可以假設(shè):

0 <= amount (總金額) <= 5000
1 <= coin (硬幣面額) <= 5000
硬幣種類不超過 500 種
結(jié)果符合 32 位符號(hào)整數(shù)

代碼

func change(amount int, coins []int) int {dp := make([]int, amount+1)dp[0] = 1// 判斷是外循環(huán)還是內(nèi)循環(huán), 完全背包問題(硬幣可以重復(fù)使用)for _, coin := range coins {for i := coin; i <= amount; i++ { // 從coin開始遍歷,小于coin的值沒有意義dp[i] = max(dp[i], dp[i] + dp[i-coin])//dp[i] += dp[i-coin]}}return dp[amount] }func max(n, m int) int {if n > m {return n} else {return m} }

總結(jié)

以上是生活随笔為你收集整理的518. 零钱兑换 II golang动态规划的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。