爬楼梯【动态规划】

  1. 爬楼梯
    假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
    每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
java 复制代码
class Solution {
    public int climbStairs(int n) {
        if (n <= 2) return n;//特殊情况处理
        int dp[] = new int[n + 1];
        dp[1] = 1;//因为数组索引是从0开始的,有n个台阶所以数组length 为[0,n]即n + 1,dp[0]在本题没有意义,可以不予处理
        dp[2] = 2;
        for (int i = 3; i <= n; i++) {
            dp[i] = dp[i - 1] + dp[i - 2];
        }
        return dp[n];
    }
}
相关推荐
Voyager_42 分钟前
算法学习记录16——Floyd 判圈算法(环形链表 II)
学习·算法·链表
代码游侠3 分钟前
学习笔记——进程控制函数
linux·运维·笔记·学习·算法
小O的算法实验室4 分钟前
2022年CIE SCI2区TOP,双向交替搜索 A* 算法的移动机器人全局路径规划,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
木头左4 分钟前
多任务联合训练框架下的遗忘门协同优化趋势跟踪与均值回归双目标平衡
算法·均值算法·回归
xu_yule5 分钟前
算法基础-(单调队列)
算法·单调队列
代码不停9 分钟前
Java递归综合练习
java·开发语言·算法·回归
前端小白在前进9 分钟前
力扣刷题:删除排序链表的重复元素Ⅱ
算法·leetcode·链表
qq_2147826115 分钟前
Hadley Wickham长文回顾:R语言tidyverse过去20年的演进之路、现状与未来展望!
python·算法·线性回归
霍田煜熙18 分钟前
C++ 部署小型图书管理系统
开发语言·c++·算法
ywwwwwwv19 分钟前
力扣300
算法·leetcode·职场和发展