zoukankan      html  css  js  c++  java
  • 剑指offer9:青蛙变态跳台阶,1,2,3……,n。

    1. 题目描述

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

    2. 思路和方法

      每个台阶都有跳与不跳两种情况(除了最后一个台阶),最后一个台阶必须跳。所以共用2^(n-1)中情况。换个表述可能更容易懂一点:小鸟要从起点0飞到终点N。中间有1~n-1个点可以中途停靠休息,它可以休息可以不休息,休息次数不限。问,到终点时,一共有多少种情况。

      实现放方法: F(n) = F(n-1)+F(n-2)+...+F(1);F(n-1) = F(n-2)+F(n-3)+...+F(1);……;

    3. C++核心代码

     1 class Solution {
     2 public:
     3     int jumpFloorII(int number) {
     4         int sum = 0;
     5         if (number < 0)
     6             return 0;
     7         if (number == 0 || number == 1)
     8             return 1;
     9         for (int i = 1; i <= number; i++)
    10         {
    11             sum += jumpFloorII(number - i);
    12         }
    13         return sum;
    14     }
    15 };
    View Code

    参考资料

    https://blog.csdn.net/xiaomei920528/article/details/74178927

  • 相关阅读:
    JavaScript节点属性
    main函数的参数
    CGI
    open()函数 linux中open函数使用
    海伦公式
    C语言字符串操作函数
    makefile(一)
    makefile
    第一天
    时间小憩
  • 原文地址:https://www.cnblogs.com/wxwhnu/p/11407250.html
Copyright © 2011-2022 走看看