假设你正在爬楼梯。需要
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
cppclass Solution { public: int climbStairs(int n) { if(n<=2) return n; vector<int> dp(n+1); dp[1]=1; dp[2]=2; for(int i=3;i<=n;i++) { dp[i]=dp[i-1]+dp[i-2]; } return dp[n]; } };
LeetCode 70. 爬楼梯
Liangwei Lin2026-05-14 14:31
相关推荐
Lumos1862 分钟前
故障保护与鲁棒性(十七)手写码匠7 分钟前
从零实现大模型推理引擎:Continuous Batching 与动态调度系统深度解析wabs66628 分钟前
关于单调栈【力扣503.下一个更大元素II的思考】c2385632 分钟前
下篇:伸缩魔法!进阶吃透可变滑动窗口篇186******2053135 分钟前
RuView 新手快速上手与实战指南txzrxz37 分钟前
关于二维/多维前缀和来一碗刘肉面41 分钟前
顺序表的按值查找zzz_23681 小时前
【Java实习面试算法冲刺】图论大鱼>2 小时前
宠物监控数据安全与隐私保护:端到端加密与合规实践被自己蠢哭2 小时前
BFS广度优先搜索问题:#P00496. 华为od机试—自动泊车