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。

相关推荐
朔北之忘 Clancy9 小时前
2020 年 6 月青少年软编等考 C 语言一级真题解析
c语言·开发语言·c++·学习·算法·青少年编程·题解
_codemonster9 小时前
计算机视觉入门到实战系列(九) SIFT算法(尺度空间、极值点判断)
深度学习·算法·计算机视觉
梭七y9 小时前
【力扣hot100题】(133)LRU缓存
leetcode·缓存·哈希算法
a程序小傲10 小时前
得物Java面试被问:方法句柄(MethodHandle)与反射的性能对比和底层区别
java·开发语言·spring boot·后端·python·面试·职场和发展
sinat_2869451910 小时前
AI Coding LSP
人工智能·算法·prompt·transformer
星马梦缘10 小时前
算法与数据结构
数据结构·c++·算法·动态规划·克鲁斯卡尔·kahn
2501_9434691510 小时前
【无标题】
数据结构·算法
_codemonster10 小时前
计算机视觉入门到实战系列(八)Harris角点检测算法
python·算法·计算机视觉
Snow_day.10 小时前
有关排列排列组合(1)
数据结构·算法·贪心算法·动态规划·图论