全球著名室内设计公司排名,网站如何做优化推广,党建网站 自身建设,软件开发的模式题目描述#xff1a;
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢#xff1f; 示例 1#xff1a;
输入#xff1a;n 2
输出#xff1a;2
解释#xff1a;有两种方法可以爬到楼顶。
1. 1 阶 1 阶
…题目描述
假设你正在爬楼梯。需要 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 阶提示
1 n 45
通过次数
1.3M
提交次数
2.4M
通过率
54.2%
思路和题解
经典的动态规划爬到第一个台阶的方法是1爬到第二个台阶的方法是2爬到其余的台阶只能由前一个台阶或前面第两个台阶一步子爬过来也就是方法等于爬到前两个台阶的方法加1。
代码
class Solution {
public:int climbStairs(int n) {int dp[46];dp[1]1;dp[2]2;for(int i3;in;i) dp[i]dp[i-1]dp[i-2];return dp[n];}
};