剑指offer-跳台阶

来源:互联网 发布:高清矩阵厂家 编辑:程序博客网 时间:2024/05/17 13:42

青蛙一次可以跳一次,也可以跳两次,n阶台阶多少种可能性

法一:

class Solution {public:    int jumpFloor(int number) {        if(number==0)             return 0;       int i=0,j=1;        int n=0;for(int k=0;k<number;k++)            {            n=i+j;            i=j;            j=n;                           }        return n;            }};

法二:

class Solution {public:    int jumpFloor(int number) {               if(number==1)            return 1;        else if(number==2)            return 2;        else if(number>2)            return jumpFloor(number-1)+jumpFloor(number-2);         }};

变态跳法:

青蛙可以一次性跳一次,也可以一次性跳2次...也可以跳n次,求n阶台阶跳法?

class Solution {public:    int jumpFloorII(int number) {        if(number==0)return 1;int n=0;for(int i=1;i<=number;i++)n+=jumpFloorII(number-i);return n;    }};