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;}
};