zoukankan      html  css  js  c++  java
  • 20、一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

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

    思路:每个台阶都有跳与不跳两种情况(除了最后一个台阶),最后一个台阶必须跳。所以共用2^(n-1)中情况

    验证:

    1个:(1)→1

    2个:(1 1)(2)→2

    3个:(1 1 1)(1 2)(2 1)(3)→4

    4个:(1 1 1 1)(2 1 1)(1 2 1)(1 1 2)(2 2)(3 1)(1 3)(4)→8

    5个:(1 1 1 1 1)(2 1 1 1)(1 2 1 1 )(1 1 2 1)(1 1 1 2)(2 2 1)(2 1 2)(1 2 2)(3 1 1)(1 3 1)(1 1 3)(2 3)(3 2)(4 1)(1 4)(5)→16

    n个:→2^(n-1)

    1 class Solution {
    2 public:
    3     int jumpFloorII(int number) {
    4         return 1<<(number-1);
    5     }
    6 };

  • 相关阅读:
    8.指针小结
    8.指针
    7.数组
    6.结构化程序设计
    python之迭代器
    1.python基础—有这篇文章足够
    python装饰器,细致讲解
    django客户管理系统-使用modelform对HTML标签统一添加样式
    python之md5使用方法
    git干货教程
  • 原文地址:https://www.cnblogs.com/olivegyr/p/7017983.html
Copyright © 2011-2022 走看看