【算法刷题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];
    }
}

总结

暂无

相关推荐
手握风云-29 分钟前
零基础Java第十六期:抽象类接口(二)
数据结构·算法
笨小古1 小时前
路径规划——RRT-Connect算法
算法·路径规划·导航
<但凡.1 小时前
编程之路,从0开始:知识补充篇
c语言·数据结构·算法
f狐0狸x2 小时前
【数据结构副本篇】顺序表 链表OJ
c语言·数据结构·算法·链表
paopaokaka_luck2 小时前
基于Spring Boot+Vue的多媒体素材管理系统的设计与实现
java·数据库·vue.js·spring boot·后端·算法
视觉小萌新2 小时前
VScode+opencv——关于opencv多张图片拼接成一张图片的算法
vscode·opencv·算法
2的n次方_3 小时前
二维费用背包问题
java·算法·动态规划
simple_ssn3 小时前
【C语言刷力扣】1502.判断能否形成等差数列
c语言·算法·leetcode
寂静山林3 小时前
UVa 11855 Buzzwords
算法
Curry_Math3 小时前
LeetCode 热题100之技巧关卡
算法·leetcode