桂林市网站建设_网站建设公司_网站开发_seo优化
2025/12/31 15:39:36 网站建设 项目流程

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

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

示例 1:

输入:n = 2
输出:2
解释:有两种方法可以爬到楼顶。1. 1 阶 + 1 阶 2. 2 阶

示例 2:

输入:n = 3
输出:3
解释:有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶 2. 1 阶 + 2 阶 3. 2 阶 + 1 阶

解析:
这道题是一个简单的动态规划问题,主要是定义好dp数组的含义,在这里,dp[i]代表爬i层楼梯,总共的方法数有dp[i]种
接下来就是找到递推公式:
当你爬一层楼梯时,有一种方法
当你爬两层楼梯时,有两种方法
当你爬三层楼梯时,有三种方法
当你爬四层楼梯时,有五种方法
所以,可以总结出规律:dp[i] = dp[i-1] + dp[i-2]

具体代码:

/** * @param {number} n * @return {number} */varclimbStairs=function(n){letdp=[1,2]for(leti=2;i<n;i++){dp[i]=dp[i-1]+dp[i-2]}returndp[n-1]};

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询