当前位置:   article > 正文

代码随想录算法训练营第33天

代码随想录算法训练营第33天

LeetCode 509. 斐波那契数列

链接

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

LeetCode 70. 爬楼梯

链接

  1. class Solution {
  2. public:
  3. int climbStairs(int n) {
  4. if(n <= 2) {
  5. return n;
  6. }
  7. int dp[2] = {1, 1};
  8. for(int i = 2; i <= n; i++) {
  9. int sum = dp[0] + dp[1];
  10. dp[0] = dp[1];
  11. dp[1] = sum;
  12. }
  13. return dp[1];
  14. }
  15. };

LeetCode 746. 使用最小花费爬楼梯

链接

  1. class Solution {
  2. public:
  3. int minCostClimbingStairs(vector<int>& cost) {
  4. vector<int> dp(cost.size() + 1, 0);
  5. for(int i = 2; i <= cost.size(); i++) {
  6. dp[i] = min((dp[i-1] + cost[i-1]), (dp[i-2] + cost[i-2]));
  7. }
  8. return dp[cost.size()];
  9. }
  10. };
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/821964
推荐阅读
相关标签
  

闽ICP备14008679号