动态规划——零钱兑换(python)
思路dp[i]定义为求能够凑成数i所需要的最少个数为dp[i]。状态转移dp[i]min(dp[i-coins[i]]1,dp[i]。这里是求个数求个数求个数所以这里是由上个状态加数字1转移这里要好好理解。def coinsChange(coins,n): #求能凑成i的最少个数 dp[float(inf)]*(n1) dp[0]0 for i in range(1,n1): for j in coins: if ij: dp[i]min(dp[i-j]1,dp[i]) if dp[n]float(inf): return -1 return dp[n] def main(): coinslist(map(int,input().split())) nint(input()) rescoinsChange(coins,n) print(res) if __name____main__: main()
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2547810.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!