LeetCode热题100(爬楼梯)

题目描述

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。

每次你可以爬 12 个台阶。你有多少种不同的方法可以爬到楼顶呢?

题解思路:

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

思路总结:动态规划思想,第n阶的上一步来自于n-1阶或者n-2阶。两者相加为总的路径数,并且需要初始化一个数组,dp[0]和dp[1]的值都为1。

相关推荐
m0_5698814717 小时前
C++中的装饰器模式变体
开发语言·c++·算法
笒鬼鬼17 小时前
【API接口】最新可用红果短剧接口
算法·api·笒鬼鬼·红果短剧·接口源码
weixin_4219226917 小时前
C++与边缘计算
开发语言·c++·算法
2401_8319207417 小时前
C++编译期数组操作
开发语言·c++·算法
殷紫川17 小时前
秒杀系统高并发核心优化与落地全指南
算法·架构
野犬寒鸦18 小时前
JVM垃圾回收机制面试常问问题及详解
java·服务器·开发语言·jvm·后端·算法·面试
风酥糖18 小时前
Godot游戏练习01-第16节-游戏中的状态机
算法·游戏·godot
参.商.18 小时前
【Day45】647. 回文子串 5. 最长回文子串
leetcode·golang
budingxiaomoli18 小时前
优选算法--优先级队列(堆)
算法
Trouvaille ~18 小时前
【优选算法篇】哈希表——空间换时间的极致艺术
c++·算法·leetcode·青少年编程·蓝桥杯·哈希算法·散列表