zoukankan      html  css  js  c++  java
  • 【剑指offer】09-2跳台阶,C++实现

    原创博文,转载请注明出处!

    # 本文是牛客网《剑指offer》刷题笔记

    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)-----裴波那切数列

    3.code

    # 返回值--跳n级台阶的跳法

    # 参数--n级台阶

      1 class Solution {
      2 public:
      3     int jumpFloor(int number) {
      4 
      5         if(number<=0)
      6             return 0;
      7 
      8         if(number<3)
      9             return number;
     10 
     11         int a=1;
     12         int b=2;
     13         int c=0;
     14         for(int i=3;i<=number;++i){
     15             c=a+b;
     16             a=b;
     17             b=c;
     18         }
     19         return c;
     20     }
     21 };
  • 相关阅读:
    基础练习 高精度加法
    基础练习 阶乘计算
    基础练习 闰年判断
    基础练习 01字串
    基础练习 字母图形
    基础练习 数列特征
    基础练习 杨辉三角形
    基础练习 特殊的数字
    基础练习 回文数
    Codeforces 417A Elimination
  • 原文地址:https://www.cnblogs.com/wanglei5205/p/8526450.html
Copyright © 2011-2022 走看看