動態規划--爬樓梯問題(入門)


動態規划算法要求將求解問題拆分為一系列相互交疊的子問題。

動態規划三要素:

  • 最優子結構
  • 邊界
  • 狀態轉移函數

問題描述:假設有n層台階,你每次能爬1層或者2層,問你又多少種方法到達n層?

第一層:1種,記為f(1)=1(邊界)

第二層:2種(走2步或走兩個1步),記為f(2)=2

第三層:3種(在第一層走2步或在第二層走1步),記為f(3)=f(1)+f(2)

因此第n層就與第n-1和第n-2層有關。

輸出:89

使用這種方式會出現重復計算的問題,因此,一般動態規划都會定義一個數組來存儲前面所用到的值,修改后代碼如下:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM