https://www.nowcoder.net/practice/22243d016f6b47f2a6928b4313c85387?tpId=13&tqId=11162&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

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

推导过程:

因为之前有一道题目,是DP做的,所以我开始的思路也是DP,就是看跟n-1, n-2的关系,然后就发现跟1- n-1 都有关系;

然后就看能不能把f1 f2 f3 都累加,想到这里,感觉跟全排列、全组合、幂次有点关系;

然后就想到每个台阶,都可以作为一个判断点,就是类似树的分支,青蛙可以选择在这个台阶上落脚,也可以选择不落脚。

那么就会发现,答案的解法,是 2 * 2 * ... * 2,那么乘多少次呢?

因为最后一个台阶肯定要落脚的,所以答案就是 2 ^ (n-1) ,欧耶!

代码如下:

class Solution {
public:int jumpFloorII(int number) {return pow(2, number-1);}
};

变态跳台阶,很难很难,终于想出来了,附推导过程,为自己鼓掌相关推荐

  1. 7、斐波那契数列、跳台阶、变态跳台阶、矩形覆盖------------剑指offer系列

    题目:斐波那契数列 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0). f(n) = f(n-1) + f(n-2) 基本思路 这道题在剑指offe ...

  2. 算法练习day20——190411(重建二叉树、斐波那契数列、跳台阶、矩形覆盖、变态跳台阶、旋转数组的最小数字、矩阵中的路径)

    1.重建二叉树 根据二叉树的前序遍历和中序遍历的结果,重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字. preorder = [3,9,20,15,7].inorder = [9 ...

  3. 《剑指offer》-- 斐波那契数列、跳台阶问题 、变态跳台阶问题、矩阵覆盖

    一.斐波那契数列: 1.题目: 现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0).n<=39. 2.什么是斐波那契数列? 斐波那契数列指的是这样一个数列: 0, 1, ...

  4. 跳台阶问题 + 变态跳台阶问题 解法(动态规划递归 + 非递归)

    一.跳台阶问题 题目描述: 一个台阶总共有n级,如果一次可以跳1级,也可以跳2级.求总共有多少总跳法,并分析算法的时间复杂度. 通过题目的描述,可以很清晰地看到,这就是一个Fibonacci数列. 递 ...

  5. python青蛙跳台阶_Python中跳台阶、变态跳台阶与矩形覆盖问题的解决方法

    前言 跳台阶.变态跳台阶.矩形覆盖其实都和斐波那契数列是一类问题,文中通过示例代码介绍的非常详细,下面话不多说了,来一起看看详细的介绍吧. 跳台阶 问题描述: 一只青蛙一次可以跳上1级台阶,也可以跳上 ...

  6. 动态规划:青蛙跳台阶、变态跳台阶

    青蛙跳台阶问题是一个简单的动态规划问题. 问题1:普通跳台阶 一只青蛙可以一次跳 1 级台阶或者一次跳 2 级台阶,例如: 跳上第 1 级台阶只有一种跳法:直接跳 1 级即可. 跳上第 2 级台阶有两 ...

  7. 递归和循环:跳台阶和变态跳台阶和矩形覆盖

    题目描述 跳台阶:一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 变态跳台阶:一只青蛙一次可以跳上1级台阶,也可以跳上2级--它 ...

  8. 剑指offer九:变态跳台阶

    一.题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 二.解题思路 可以延续上一题的思路,逆向思维来考虑这个问题.要想跳到第n级 ...

  9. 剑指Offer #09 变态跳台阶(数列推导)

    题目来源:牛客网-剑指Offer专题 题目地址:变态跳台阶 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 题目解析 这道题有 ...

  10. java 简单跳台阶和变态跳台阶

    1. 简单跳台阶 1.1 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 1.2 解题思路 对于本题,有题目描述可知, ...

最新文章

  1. Jquery创建JSON对象
  2. idea自动为行尾加分号
  3. desktop docker 无法卸载_docker,生信人的福音!
  4. Uboot USB模式(RK3288变砖头的解决办法)
  5. 条件注释判断兼容浏览器版本CSS HACK !--[if !IE]!--[if IE]!--[if lt IE 6]!--[if gte IE 6]...
  6. hive 如果表不存在则创建_Hive DDL
  7. JQuery Easyui/TopJUI表格基本的删除功能(删除当前行和多选删除)
  8. Python—爬取全国城市名称案例(Xpath方法)
  9. 【UVA No. 12676】转换哈夫曼编码 Inverting Huffman
  10. [Hadoop培训笔记]05-HDFS详细分析(二)
  11. GitHub上热门的Java开源项目
  12. 一个字符串截取函数c语言
  13. JAVA企业邮箱发送
  14. EBS中如何实现简单的日记账导入
  15. shell程序设计小知识
  16. window安装Linux
  17. 华为任正非:管理的灰度
  18. 开源免费的脑电/脑磁图数据分析软件汇总
  19. unity字体外发光_【Unity学习心得】Sprite外发光的制作
  20. SVG的国旗图标集合flag-icon-css在vue中的使用

热门文章

  1. 1亿组图文对,填补中文开源多模态数据集空白!还附带基础模型,来自华为诺亚方舟实验室...
  2. 芯片开发者46%年收入达30万元,7纳米制程以内开发者30%超50万元
  3. LSTM之父再称ResNet、GAN等五大网络都有他的功劳,网友却说:自负大于引用数
  4. 远程扫描iPhone相册?苹果的好心网友不领情
  5. 新模拟算法揭秘加州地震史:更准确有效
  6. 伪造GPS信号就能把无人车带沟里?百度Apollo工程师实验证明:自动驾驶没那么好骗...
  7. 2D图片3秒变立体,变换视角流畅自然:Adobe实习生的智能景深算法,登上顶级期刊...
  8. 中国AI又夺一冠!依图刷榜全球声纹识别挑战赛,刷新纪录,大比分夺魁
  9. 用人脑生成等概率随机数,困扰人类30万年的问题解决了 | 附“源代码”
  10. WePY框架开发的小程序如何在微信web开发者工具中运行起来