zoukankan      html  css  js  c++  java
  • 跳台阶

    题目描述

    一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
     

    思路

    使用斐波那契数列求解

    n=1时,跳法只有1种,f(1);

    n=2时,跳法有2种,f(2);

    从n>2开始,就可以将n分为两种情况:

    情况1,第一步跳1阶台阶,那么就剩n-1阶台阶,n-1阶台阶的台阶跳法为f(n-1);

    情况2,第一步跳2阶台阶,那么就剩n-2阶台阶,n-2阶台阶的台阶跳法为f(n-2);

    所以得出结论:f(n) = f(n-1) + f(n-2),此规律符合斐波那契数列。

    class Solution {
    public:
        int jumpFloor(int number) {
            int one_floor = 1;
            int two_florr = 2;
            int total_ways = 0;
            if(number == 1) return 1;
            if(number == 2) return 2;       
            if(number > 2) total_ways = jumpFloor(number - 1) + jumpFloor(number - 2);
            return total_ways;
        }
    };
  • 相关阅读:
    poj2263
    poj2304
    低调是态度,也是智慧
    股票操作記錄2
    治病記錄(2013年)
    过年了
    治病記錄
    近段時間學習記錄
    新的一年
    關于設計
  • 原文地址:https://www.cnblogs.com/zhousong918/p/10272346.html
Copyright © 2011-2022 走看看