70.爬楼梯

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

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

示例 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

原题链接:70. 爬楼梯 - 力扣(LeetCode)

思路:爬到第 x 级台阶的方案数是爬到第 x−1 级台阶的方案数和爬到第 x−2 级台阶的方案数的和。因此,f(x)=f(x−1)+f(x−2)

代码:

cpp 复制代码
class Solution {
public:
    int climbStairs(int n) {
        int p = 0, q = 0, r = 1;
        while(n--){
            p = q;
            q = r;
            r = p + q;
       }
       return r;
    }
};
相关推荐
paeamecium1 分钟前
【PAT甲级真题】- All Roads Lead to Rome (30)
数据结构·c++·算法·pat考试·pat
Cando学算法7 分钟前
双指针之快慢指针
算法
汀、人工智能16 分钟前
[特殊字符] 第100课:任务调度器
数据结构·算法·数据库架构·贪心··任务调度器
每日任务(希望进OD版)17 分钟前
二分法刷题
算法·二分
会编程的土豆1 小时前
日常做题 vlog
数据结构·c++·算法
Omigeq1 小时前
1.4 - 曲线生成轨迹优化算法(以BSpline和ReedsShepp为例) - Python运动规划库教程(Python Motion Planning)
开发语言·人工智能·python·算法·机器人
网络工程小王2 小时前
【大模型(LLM)的业务开发】学习笔记
人工智能·算法·机器学习
y = xⁿ2 小时前
【Leet Code 】滑动窗口
java·算法·leetcode
WBluuue2 小时前
数据结构与算法:二项式定理和二项式反演
c++·算法
nianniannnn2 小时前
力扣104.二叉树的最大深度 110. 平衡二叉树
算法·leetcode·深度优先