當前位置:編程學習大全網 - 編程軟體 - python程序設計每種金額最少需要幾張紙幣問題

python程序設計每種金額最少需要幾張紙幣問題

如果LZ知道任慶生老師是誰的話,那麽學弟您好,如果不知道就忽略這句話啦~

這是壹個動態規劃題,相信LZ已經知道貪心是不行的對吧?

主要思想就是,假如我要找37元的話,那麽我可以去看37-1,37-5,37-16,37-23,37-33元分別最少需要多少張紙幣,取其中的最小值,然後+1,就是當前最佳的解了,這樣我們就成功地縮小了問題規模。如此的話,從1元開始建表,表中每個下標對應的值是當前下標金額需要的最少紙幣數,只要把表建到目標金額就行啦~

具體實現的話,初始化壹個list,讓list[0] = 0,然後從1到目標金額n循環,對每個金額i,掃描貨幣種類,假定當前貨幣金額是k,那麽,如果i-k>=0,我們就去找list[i-k];在所有的list[i-k]中選壹個最小的,把它+1,就是當前i的解了。

恩恩,如果不懂,請追問~

  • 上一篇:學cnc難不難?
  • 下一篇:wps表格數據分析在哪
  • copyright 2024編程學習大全網