这道题比较经典,首先想到的就是递归写法
class Solution {
public int climbStairs(int n) {
if(n<=2){
return n;
}
return climbStairs( n-1)+ climbStairs(n-2);
}
}
递归进行优化就变成了记忆化搜索
其实就是加一个缓存
class Solution {
Map<Integer,