当前位置:   article > 正文

代码随想录Day38 | 509. 斐波那契数 | 70. 爬楼梯 | 746. 使用最小花费爬楼梯

代码随想录Day38 | 509. 斐波那契数 | 70. 爬楼梯 | 746. 使用最小花费爬楼梯

509. 斐波那契数

  1. class Solution {
  2. public:
  3. int f[35];
  4. int fib(int n) {
  5. f[0] = 0;
  6. f[1] = 1;
  7. for(int i=2;i<=n;i++){
  8. f[i] = f[i-1] + f[i-2];
  9. }
  10. return f[n];
  11. }
  12. };

70. 爬楼梯

  1. class Solution {
  2. public:
  3. int climbStairs(int n) {
  4. vector<int> f(n+2,0);
  5. f[1]=1;
  6. f[2]=2;
  7. for(int i=3;i<=n;i++){
  8. f[i]=f[i-1]+f[i-2];
  9. }
  10. return f[n];
  11. }
  12. };

   该题类似于斐波那契数,只是考虑了一下实际意义,即f[0] 没有意义。

746. 使用最小花费爬楼梯

        f[i]:登上下标为i的台阶所需要的花费。

  1. class Solution {
  2. public:
  3. int minCostClimbingStairs(vector<int>& cost) {
  4. int n = cost.size();
  5. vector<int> f(n+2,0);
  6. f[0] = 0;
  7. f[1] = 0;
  8. for(int i=2;i<=n;i++){
  9. f[i] = min(f[i-1]+cost[i-1],f[i-2]+cost[i-2]);
  10. }
  11. return f[n];
  12. }
  13. };

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/822586
推荐阅读
相关标签
  

闽ICP备14008679号