【算法刷题day38】Leetcode:509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯

文章目录

草稿图网站
java的Deque

Leetcode 509. 斐波那契数

题目: 509. 斐波那契数
解析: 代码随想录解析

解题思路

hello world版动态规划

代码

java 复制代码
class Solution {
    public int fib(int n) {
        if (n < 2)  return n;
        return fib(n-1) + fib(n-2);
    }
}

//动规
class Solution {
    public int fib(int n) {
        if (n <= 1) return n;
        int []dp = new int[n+1];
        dp[1] = 1;
        for (int i = 2; i <= n; i++)
            dp[i] = dp[i-1] + dp[i-2];
        return dp[n];
    }
}

总结

暂无

Leetcode 70. 爬楼梯

题目: 70. 爬楼梯
解析: 代码随想录解析

解题思路

和上面的一样

代码

java 复制代码
class Solution {
    public int climbStairs(int n) {
        if (n <= 2) return n;
        int []dp = new int[n+1];
        dp[1] = 1;
        dp[2] = 2;
        for (int i = 3; i <=n ; i++) {
            dp[i] = dp[i-1] + dp[i-2];
        }
        return dp[n];
    }
}

总结

暂无

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

题目: 746. 使用最小花费爬楼梯
解析: 代码随想录解析

解题思路

和上面的一样

代码

java 复制代码
class Solution {
    public int minCostClimbingStairs(int[] cost) {
        int []dp = new int[cost.length + 1];
        for (int i = 2; i <= cost.length; i++) {
            dp[i] = Math.min(dp[i-1] + cost[i-1], dp[i-2] + cost[i-2]);
        }
        return dp[cost.length];
    }
}

总结

暂无

相关推荐
练习时长一年6 分钟前
LeetCode热题100(杨辉三角)
算法·leetcode·职场和发展
lzllzz2323 分钟前
bellman_ford算法
算法
栈与堆33 分钟前
LeetCode 19 - 删除链表的倒数第N个节点
java·开发语言·数据结构·python·算法·leetcode·链表
sunfove35 分钟前
麦克斯韦方程组 (Maxwell‘s Equations) 的完整推导
线性代数·算法·矩阵
Rui_Freely42 分钟前
Vins-Fusion之 SFM准备篇(十二)
人工智能·算法·计算机视觉
yyy(十一月限定版)1 小时前
matlab矩阵的操作
算法·matlab·矩阵
努力学算法的蒟蒻1 小时前
day58(1.9)——leetcode面试经典150
算法·leetcode·面试
txinyu的博客2 小时前
map和unordered_map的性能对比
开发语言·数据结构·c++·算法·哈希算法·散列表
搞笑症患者2 小时前
压缩感知(Compressed Sensing, CS)
算法·最小二乘法·压缩感知·正交匹配追踪omp·迭代阈值it算法
im_AMBER2 小时前
Leetcode 101 对链表进行插入排序
数据结构·笔记·学习·算法·leetcode·排序算法