LeetCode 70. 爬楼梯
题目描述
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
示例 1:
输入:n = 2
输出:2
解释:有两种方法可以爬到楼顶。
1. 1 阶 + 1 阶
2. 2 阶
一、解题关键词
1、重复性动作
2、动态规划
3、分解问题为1次和2次累加
二、解题报告
1.思路分析
2.时间复杂度
3.代码示例
tips:
class Solution {
Map<Integer, Integer> map = new HashMap();
public int climbStairs(int n) {
if(n <= 1) return 1;
if(n < 3) return 2;
if(map.containsKey(n))return map.get(n);
int sum = climbStairs(n - 1) + climbStairs( n - 2);
map.put(n,sum);
return sum;
}
}
2.知识点