动态规划

  • 由题可得 第n个台阶的跳法=(n-1)个台阶的跳法+(n-2)台阶跳法
  • a,b,c分别保存前两个变量
  • 可以用递归以及递归变式
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param number int整型 
     * @return int整型
     */
    int jumpFloor(int number) {
        // write code here
        //斐波拉契
        if(number<=2)
        {
            return number;
        }
        // number 1 2 3 5 8
        // 台:   1 2 3 4 5
        int a=1;int b=2; int c=a+b;
        for(int i=0;i<=number-3;i++)
        {
           
            c=a+b; a=b;b=c;
        }
        return c;
    }
};