递归 爬楼梯 - lifengyu360/lifengyu_first_git_test GitHub Wiki
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
class Solution {
public:
map<int,int> cache;
int climbStairs(int n) {
if (n <= 3){
return n;
}
if (cache.count(n)){
return cache[n];
}
int result = (climbStairs(n - 1) + climbStairs(n - 2));
cache[n] = result;
return result;
}
};