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

    【题目描述】

    一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
     
    【解题思路】
        本质就是斐波那契数列。
      对于青蛙的最后一跳,它可以跳一个上去,也可以跳两个上去。
        即f(n)=f(n-1)+f(n-2)。
    【代码实现】
     1 class Solution {
     2 public:
     3     int jumpFloor(int number) {
     4         if(number<=1)
     5             return number;
     6         int target=0;
     7         int first=1;
     8         int second=1;
     9         for(int i=2;i<=number;++i)
    10         {
    11             target=first+second;
    12             first=second;
    13             second=target;
    14         }
    15         return target;
    16     }
    17 };
    【举一反三】
    1、一只青蛙一次可以跳上1级台阶,也可以跳上2级,……,它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
    【解题思路】
        通过数学归纳法证明:f(n)=2^n-1
    1 class Solution {
    2 public:
    3     int jumpFloor(int number) {
    4         if(number<=0)
    5             return 0;
    6         else
    7             return 1<<(number-1);
    8     }
    9 };
  • 相关阅读:
    xss学习笔记
    【转】Python中的正则表达式(re)
    数据隐藏技术揭秘笔记
    几道排列组合题的总结
    Notepad++来比较文件
    快捷键总结
    进制转换
    leetcode刷题(三)
    leetcode刷题(二)
    leetcode刷题(一)
  • 原文地址:https://www.cnblogs.com/lou424/p/5038630.html
Copyright © 2011-2022 走看看