首页 > 其他 > 详细

变态跳台阶

时间:2020-05-21 20:53:58      阅读:57      评论:0      收藏:0      [点我收藏+]

一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

解题思路:

当 n=1时,f(1)=1;

当 n=2时,f(2)=f(2-1)+f(2-2);  //第一次跳一阶,第二次跳二阶  //  这里f(2-2)指的是一下子跳两阶梯即f(0) =1      =》1种跳法。

当 n=3时,f(3)=f(3-1)+f(3-2)+f(3-3);

当 n=n时,f(n)= f(n-1)+f(n-2)+...+f(n-n)=f(0)+f(1)+f(2)+...f(n-2)+f(n-1);

再因为                                            f(n) =f(0)+f(1)+f(2)+...f(n-2);

所以f(n) = 2*f(n-1);

class Solution {
public:
int jumpFloorII(int number) {
    if(number == 0)
      return 0;
    else if(number == 1)
      return 1;
    else
      return 2*jumpFloorII(number -1);
  }
};

变态跳台阶

原文:https://www.cnblogs.com/yl1995/p/12933249.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!