题目一(青蛙跳台阶):

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

分析:

假设只有一级台阶,则总共只有一种跳法;

假设有两级台阶,则总共有两种跳法;

假设有n级台阶,那么第一步就要分为跳一步和跳两步:

跳一步,那么接下来就是跳n-1;

跳两步,那么接下来就是跳n-2;

所以,总数可以认为是f(n-1)+f(n-2)。

主要代码:

def frog(num):

if num <= 2:

return num

t1, t2 = 1, 2

for _ in range(3, num+1):

t1, t2 = t2, t1+t2

return t2

题目二(变态跳台阶):

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

分析:

相比之前的跳台阶,这次可以从任意台阶跳上n级,所以总体来看与上一个问题差不多,只不过递归公式应该是各个台阶之和再加上直接跳上去的情况,所以总数应该是f(n-1)+f(n-2)+f(n-3)+...+f(2)+f(1)=2**n-1。

主要代码:

def frog(num):

if num==0:

return 0

return 2**(num-1)

拓展问题(矩形覆盖):

我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?

分析:

这个问题实际上就是普通的跳台阶问题,只不过说法不一样而已。

假设n=1,则只有一种方法;

假设n=2,则共有两种方法;

假设n=3,则分为两种情况:

第一次用一个矩形竖着覆盖(左图阴影),则剩下共有2(n-1)种方法

第二次用一个矩形横着覆盖(右图蓝色),那么下方区域只剩下图示一种方法,所以剩下1(n-2)种方法

最后可以看出求矩形覆盖问题和求青蛙跳台阶问题的通式是一样的,它们都符合斐波那契数列的通式,即f(n-1)+f(n-2)

主要代码:

def rectangle(num):

if num <= 2:

return num

t1, t2 = 1, 2

for _ in range(3, num+1):

t1, t2 = t2, t1+t2

return t2

通过这几个题目我们可以看出,其实很多题目都有共通之处,甚至有些题目的变题会更简单,所以我们需要从平时开始积累,日积月累下来,我们见识过的题目多了,自然而然写代码的水平就上去了。

【校招面试 之 剑指offer】第10-2题 青蛙跳台阶问题

题目1:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶.求该青蛙跳上一个n级台阶共有多少种跳法? 题目2:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶...也可以一次跳n级台阶.求该青蛙跳上一个 ...

青蛙跳台阶(Fibonacci数列)

问题 一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级.求该青蛙跳上一个n 级的台阶总共有多少种跳法. 思路 当n=1时,只有一种跳法,及f(1)=1,当n=2时,有两种跳法,及f(2)=2,当n= ...

青蛙跳台阶问题——剑指offer

题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶,求该青蛙跳上一个n级台阶总共有多少中跳法. http://www.nowcoder.com/books/coding-interviews?pa ...

【Java】 剑指offer&lpar;9&rpar; 斐波那契数列及青蛙跳台阶问题

本文参考自一书,代码采用Java语言. 更多:Java实现合集   题目 写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项 ...

面试书上一些题目的整理:O&lpar;n&rpar;复杂度排序年龄 &amp&semi; 青蛙跳台阶

可以按照年龄的个数,设置99个桶,然后桶内处理. 青蛙跳台阶,每次1阶或者2阶,就是fib数 如果每次1到n阶,那么归纳法可得,是2^(n-1) 另外1*2 覆盖 2*n个矩阵的问题,仍然是Fib数. ...

python算法题 python123网站单元四题目

目录 一:二分法求平方根 二:Collatz猜想 三:算24(只考虑满足,不考虑把所有情况找出来)   下面向大家介绍几个python算法题. 一:二分法求平方根 1.题目要求为 2.输入输出格式为 ...

&lbrack;剑指offer&rsqb;10&period;斐波那契数列&plus;青蛙跳台阶问题

10- I. 斐波那契数列 方法一 Top-down 用递归实现 def fibonacci(n): if n <= 0: return 0 if n == 1: return 1 return ...

剑指offer-第二章算法之斐波拉契数列(青蛙跳台阶)

递归与循环 递归:在一个函数的内部调用这个函数. 本质:把一个问题分解为两个,或者多个小问题(多个小问题相互重叠的部分,会存在重复的计算) 优点:简洁,易于实现. 缺点:时间和空间消耗严重,如果递归调 ...

剑指offer 9-10&colon;青蛙跳台阶与Fibonacii数列

题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 问题分析 我们将跳法个数y与台阶数n视为一个函数关系,即y=f(n). ...

随机推荐

Maven&lowbar;profile&lowbar;使用profile配置不同环境的properties(实践)

配置方法分为以下几个步骤: 1.配置profiles节点(pom.xml) 2.配置build节点(pom.xml)--如果不配置该节点则无法找到profile中的properties属性值,并且配置 ...

关于启动 SecureCRT 遇到一个致命的错误且必须关闭

--------------------------SecureCRT---------------------------SecureCRT 遇到一个致命的错误且必须关闭. 一个崩溃转储文件已创建于 ...

&lbrack;再寄小读者之数学篇&rsqb;&lpar;2014-11-24 Abel 定理&rpar;

设幂级数 $\dps{g(x)=\sum_{n=0}^\infty a_nx^n}$ 在 $|x|<1$ 内收敛, 且 $\dps{\sum_{n=0}^\infty a_n=s}$ 收敛. 则 ...

ACM1228&lowbar;STL的应用

#include #include #include using namespace std; map

线性表的顺序存储结构的实现及其应用&lpar;C&sol;C&plus;&plus;实现&rpar;

存档--- #include #include typedef int ElemType; #define MAXSIZE 10 #i ...

【机器学习】--Adaboost从初始到应用

一.前述 AdaBoost算法和GBDT(Gradient Boost Decision Tree,梯度提升决策树)算法是基于Boosting思想的机器学习算法.在Boosting思想中是通过对样本进 ...

详解bootstrap-fileinput文件上传控件的亲身实践

经理让我帮服务器开发人员开发一个上传文件功能界面,我就想着以前使用过bootstrap-fileinput插件进行文件上传,很不错.赶紧就撸起来了. 1.下载压缩包.插件地址https://githu ...

stm32cubemx学习要点记录

如果有些外设的HAL库函数找不到的话,你可以到IAR工程的文件夹显示栏中找如下图所示:

WebSphere下配置HTTP压缩

WebSphere下配置HTTP压缩 背景 WebSphere本身的安装配置中并不包含HTTP压缩的模块,而是通过新增WebServer来实现的,WebSphere通过Plugin与WebServer ...

linux系统下安装tomcat及配置

一.下载TOMCAT压缩包 apache-tomcat-6.0.44-client.zip 或 apache-tomcat-7.0.69.tar.gz 点击进入官网:http://tomcat.apa ...

python一只青蛙一次可以_Python算法题(一)——青蛙跳台阶相关推荐

  1. python一只青蛙一次可以_python算法题 python123网站单元四题目

    下面向大家介绍几个python算法题. 一:二分法求平方根 1.题目要求为 2.输入输出格式为 3.博主解题的思路 这道题在c语言中是一道经典的题目,可以用循环,或者递归,在这里我们用python来写 ...

  2. python青蛙跳台阶_Python算法题(一)——青蛙跳台阶

    题目一(青蛙跳台阶): 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 分析: 假设只有一级台阶,则总共只有一种跳法: 假设有两级台阶,则总共有两种跳法: ...

  3. python比赛积分类算法题_Python算法题(一)——青蛙跳台阶

    题目一(青蛙跳台阶): 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 分析: 假设只有一级台阶,则总共只有一种跳法: 假设有两级台阶,则总共有两种跳法: ...

  4. Homebrew作者面试Google被拒,只因写不出一道算法题

    相信很多人听说过关于Max Howell(Homebrew的作者)的故事: Max Howell在Google面试,但Google拒绝了他,给出的答复是:"虽然我们90%的工程师都用你写的软 ...

  5. python运行时间只算快的吗_Python 疑难问题:[] 与 list() 哪个快?为什么快?快多少呢?...

    本文出自"Python为什么"系列,请查看全部文章 在日常使用 Python 时,我们经常需要创建一个列表,相信大家都很熟练了吧?# 方法一:使用成对的方括号语法 list_a = ...

  6. python的应用领域有哪些、选择题_Python测试题(题)

    Python 题(共 100 分) 一 . (共 18 题, 1 题 5 分,共 90 分) 1. 以下是 Python 比较运算符中的等 于的是 ( ) A. >= B. <= C. = ...

  7. python算法题_Python算法题

    #!/usr/bin/env python#-*- encoding: utf-8 -*- '''@File :getPositivenumberList.py @Description :输入一个正 ...

  8. python中的连续比较是什么_Python算法的分治算法,python,之,连续,子,列表,最大,和...

    连续子列表的最大和 在一个列表中找到连续子列表的最大和.列表中的数字可负可正,并且子列表不能为空. 问题提出: 找到以下列表的最大子列表的和: [-2,1,-3,4,-1,2,1,-5,4] 解题思路 ...

  9. python用链表求两数之和_python 算法 - 008 计算两个链表所代表的整数之和 (整数相加法)...

    python 算法 - 008 计算两个链表所代表的整数之和 (整数相加法) 知之者不如好之者, 好之者不如乐之者.--<雍也> 知道德者不如好道德者, 好道德者不如乐道德者, 是为形容人 ...

  10. python基础语法第3关古灵阁_python入门题:输入输出练习

    以下是Python基础语法的练习,项目要求和代码如下: """ 例3:小精灵:你好,欢迎古灵阁,请问您需要帮助吗?需要or不需要? 你:需要 小精灵:请问你需要什么帮助呢 ...

最新文章

  1. 2022-2028年中国汽轮发电机行业市场深度分析及发展趋势分析报告
  2. C# 时间+三位随机数
  3. 第二冲刺阶段个人博客7
  4. SAP ABAP RFC table administration
  5. 【SpringBoot】在IOC之外的类中使用IOC内部的Bean
  6. telnet到设备里 php_金融行业思科设备典型网络故障案例:76系列典型案例(一)...
  7. spray.json_如何使用Spray-json(Un)在Akka HTTP中封送JSON
  8. 【正则表达式】IPv4地址的正则匹配
  9. Apache Struts 修复 OGNL 技术中可能存在的 RCE 缺陷
  10. 《正则表达式经典实例(第2版)》——2.18 向正则表达式中添加注释
  11. swift 获得手机IP(运营商IP和WiFi的IP)
  12. CentOS6.5 安装Tomcat6
  13. java pdf 加图片_java实现在pdf模板的指定位置插入图片
  14. 论文复现_芯片定位和引脚缺陷检测
  15. N-Queen Problem
  16. PHP地图规划骑行路径,高德路径规划,自定义骑行路线(适用3D地图)
  17. 华为云服务-应用部署2-创建环境到创建应用
  18. 轻量化规划调度引擎——OptaPlanner简介
  19. 利用青龙面版实现内网穿透,超级简单方法
  20. Qt:QTextStream

热门文章

  1. PMP知识点(十一、干系人管理)
  2. Boost.Asio Library
  3. 百度收录-如何使用API提交
  4. 一键seo提交收录_百度网站提交,选择主动提交,还是被动收录?
  5. 集成googlepay,出现Service not registered
  6. Android之飞鹅WiFi打印机
  7. java 定时发送心跳_RxJava2.0第五篇 interval 定时任务(心跳包)
  8. HDL4SE:软件工程师学习Verilog语言(十三)
  9. 浏览器上不去网络。需要进入ie点开Internet选项,网络中,局域网(LAN)设置,可以勾选上自动检测设置
  10. Google Kick Start 2019 C轮 题解