二 一九wordpress,南宁网站优化推广,做盗版视频网站违法吗,广州网页设计培训视频509. 斐波那契数
这个题简单入门#xff0c;注意下N小于等于1的情况就可以
class Solution {
public:int fib(int n) {if (n 1) return n; //这句不写的话test能过但是另外的过不了vectorint result(n 1); //定义存放dp结果的数组#xff0c;还要定义大小r…509. 斐波那契数
这个题简单入门注意下N小于等于1的情况就可以
class Solution {
public:int fib(int n) {if (n 1) return n; //这句不写的话test能过但是另外的过不了vectorint result(n 1); //定义存放dp结果的数组还要定义大小result[0] 0;result[1] 1;for (int i 2; i n; i) {result[i] result[i - 1] result[i - 2];}return result[n];}
};
70. 爬楼梯
简单题目dp table如下因为题目说了每次只能走一到两格所以后一个的结果可以由-1和-2的结果推导出来剩下的就和上面一摸一样
class Solution {
public:int climbStairs(int n) {if (n 1) return n;vectorint result(n 1);result[1] 1;result[2] 2;for (int i 3; i n; i) {result[i] result[i - 2] result[i - 1];}return result[n];}
}; 746. 使用最小花费爬楼梯
简单题和前面两个题差不多要注意一点 如果cost里面有十个元素最后要去的是11层因为到了第十个元素还要往上一层才是楼顶这部分注意下就很容易了 class Solution {
public:int minCostClimbingStairs(vectorint cost) {int size cost.size();vectorint result(size 1);result[0] 0;result[1] 0;for (int i 2; i size; i) { //这里的边界条件是要到楼顶所以到了最后一层还要往上算一层result[i] min(result[i-1] cost[i-1], result[i-2] cost[i - 2]);}return result[size];}
};