跳台阶(裴波那切数列)

1.题目

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

2.思路

跳0级,f(0)=0
跳1级,一次跳一级一种跳法,f(1)=1
跳2级,第一次跳一级和第一次跳两级两种跳法,f(2)=2
跳3级,第一次跳一级(剩余两级有f(2)种跳法)和第一次跳两级(剩余一级有f(1)种跳法),f(3)=f(2)+f(1)
跳n级,第一次跳一级(剩余n-1级有f(n-1)种跳法)和第一次跳两级(剩余n-2级有f(n-2)种跳法),f(n)=f(n-1)+f(n-2)—–裴波那切数列

简单的来说就问你1 2 3 5 8 … 这个规律怎么写

class Solution {
public:
    int jumpFloor(int number) {

        if(number<=0)
            return 0;

        if(number<3)
            return number;

        int a=1;
        int b=2;
        int c=0;
        for(int i=3;i<=number;++i){
            c=a+b;
            a=b;
            b=c;
        }
        return c;
    }
};

猜你喜欢

转载自blog.csdn.net/qq_35433716/article/details/81837258