509. 斐波那契數
題目鏈接:509. 斐波那契數
文檔鏈接:509. 斐波那契數
視頻鏈接:手把手帶你入門動態規劃 | LeetCode:509.斐波那契數
C++實現
class Solution {
public:int fib(int n) {if(n == 0) return 0;if(n == 1) return 1;int a = 0;int b = 1;int sum = 0;for(int i = 2; i<=n;i++){sum = a+b;a = b;b = sum;}return sum;}
};
70. 爬樓梯
題目鏈接:70. 爬樓梯
文檔鏈接:70. 爬樓梯
視頻鏈接:帶你學透動態規劃-爬樓梯(對應力扣70.爬樓梯)| 動態規劃經典入門題目
C++實現
class Solution {
public:int climbStairs(int n) {if(n == 1) return 1;if(n == 2) return 2;int a = 1;int b = 2;int sum = 0;for(int i = 3; i<=n; i++){sum = a +b;a = b;b = sum;}return sum;}
};
746. 使用最小花費爬樓梯
題目鏈接:添加鏈接描述
文檔鏈接:添加鏈接描述
視頻鏈接:動態規劃開更了!| LeetCode:746. 使用最小花費爬樓梯
C++實現
class Solution {
public:int minCostClimbingStairs(vector<int>& cost) {int dp0 = 0;int dp1 = 0;int dpi = 0;for(int i = 2; i<=cost.size(); i++){dpi = min(dp1 + cost[i-1], dp0 + cost[i-2]);dp0 = dp1;dp1 = dpi;}return dpi;}
};