image.png

思考

image.png
image.png
image.png
image.png
会有很多重复求解的过程,类似于斐波那契数列,使用动态规划来求解

code

  1. public int climbStairs(int n) {
  2. if(n<=2)
  3. return n;
  4. //记录
  5. int[] memo = new int[n+1];
  6. memo[1]=1;
  7. memo[2]=2;
  8. //动态求解
  9. for(int i=3;i<=n;i++){
  10. memo[i] = memo[i-1] + memo[i-2];
  11. }
  12. return memo[n];
  13. }