**设f(n)为n阶台阶的情况下,所有不同的跳法方法的总和!**

1.如果起始跳一阶的话,剩余的n-1阶就有 f(n-1) 种跳法;

2.如果起始跳二阶的话,剩余的n-2阶就有 f(n-2) 种跳法;

所以f(n) = f(n-1) + f(n-2),实际结果即为斐波纳契数。

源码:

class Solution:

"""

@param n: An integer

@return: An integer

"""

def climbStairs(self, n):

# write your code here

if n == 0: return 1

if n == 1: return 1

tmpList = [1,1]

for i in range(0,n-1):

x = tmpList[-1] + tmpList[-2]

tmpList.append(x)

return tmpList[-1]

**进阶**

如果某人可以一次性跳1~n阶,那他跳完n阶台阶有多少种跳法?

**设f(n)为n阶台阶的情况下,所有不同的跳法方法的总和!**

1.如果起始跳一阶的话,剩余的n-1阶就有 f(n-1) 种跳法;

2.如果起始跳二阶的话,剩余的n-2阶就有 f(n-2) 种跳法;

3.如果起始跳三阶的话,剩余的n-2阶就有 f(n-3) 种跳法;

...

n.如果起始跳n阶的话,剩余的n-2阶就有 f(n-n) 种跳法;

假定f(0) = 1,已知一阶台阶时,跳法只有一种,所以f(1) = 1

所以f(2) = 1+1 = 2

得:  f(n) = f(n-1)+f(n-2)+f(n-3)...+...+f(n-(n-1))+f(n-n)

f(n) = f(n-1)+f(n-2)+f(n-3)+...+f(0)

又:  f(n-1) = f(n-2)+f(n-3)...+...+f(0)

f(n-2) = f(n-3)+f(n-4)...+...+f(0)

则:  f(n) = 2 * f(n-1)

= 2^2 * f(n-2)

= 2^(n-2) * f(2)

**最终结果f(n) = 2^(n-1) **

class Solution:

"""

@param n: An integer

@return: An integer

"""

def climbStairs(self, n):

# write your code here

if n == 0: return 1

return 2**(n-1)

python小明爬楼梯_LintCode Python 简单级题目 111.爬楼梯 (斐波纳契数列 青蛙跳)相关推荐

  1. Python - Python3 编程第一步 Fibonacci series: 斐波纳契数列

    Fibonacci series: 斐波纳契数列, 两个元素的总和确定了下一个数,例如:1 1 2 3 5 8 13 21 34 55 Python程序如下: def fibonacci1(n):a, ...

  2. Python编程实现——斐波纳契数列

    斐波纳契数列 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子数 ...

  3. python剑指offer面试题_剑指offer面试题Q10 斐波那契数列 python解法

    Q10.斐波那契数列 题目描述 写一个函数,输入n,求斐波那契数列的第n项. 解题思路 思路一 递归 递归很简单但是并不能AC python实现代码 class Solution: def Fibon ...

  4. python 调用函数实现——斐波纳契数列

    类型:Python 函数和代码复用‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪ ...

  5. 算法—斐波拉契数列(跳楼梯问题)

    问题描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 这道题一看,就会轻易的知道用递归,f(1)=1;f(2)=1;f(n)=f(n-1)+f(n-2 ...

  6. python中定义函数,斐波纳契数列:1,1,2,3,5,8,13。。

    练习1:斐波纳契数列:1,1,2,3,5,8,13... (该数列中,有n个数字,从第三个数字开始:数值 =前一个数字 + 前面一个数字) 结论:n=(n-2)+(n-1) 条件:n=1或n=2时返回 ...

  7. python 斐波那契数列 yield_Python之yield详解

    今天小编给大家带来的是Python教程之yield,好多新人跟小编反应这个东西不懂,而且网上也没找到足够简单的教程,小编回复了大家之后觉得很有必要将yield讲一下. 在讲yield之前必须明确两个概 ...

  8. 用python语言编斐波那契数列_用python函数写斐波那契数列

    斐波那契数列,又称黄金分割数列.因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为"兔子数列",指的是这样一个数列:1.1.2.3.5.8.13.21.34.--在数学上, ...

  9. Python 实现 动态规划 /斐波那契数列

    1.斐波那契数列 斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为&quo ...

最新文章

  1. python在哪下载-2018版Python教程从哪儿下载
  2. 【MCTalk Live】网易对话谷歌:如何成为一个顶50个的A+++++程序员
  3. 低功耗设计——基于UPF进行设计
  4. MySql的存储过程
  5. win7内存占用过高怎么处理
  6. php有没有dao层,php框架开发四(DAO层)_PHP教程
  7. 51Nod-1087 1 10 100 1000【模拟】
  8. vue制作echart图表随着画面等比例放大缩小
  9. log4j2配置文件
  10. RecycleView使用reverse,MIUI截长屏无法截全屏的问题
  11. 网页制作 网页下拉菜单HTML+CSS制作
  12. 5分钟快速安装ASP.NET Core 网站运行环境
  13. OpenStreetMap + Leaflet 当前位置定位
  14. 方维团购V3.07版本短信接口开发
  15. IT项目经理成长手记学习(一)
  16. 【CVPR 2022】Deblur-NeRF: Neural Radiance Fields from Blurry Images
  17. 自己动手制作Windows RE(Windows恢复环境)的启动U盘
  18. 深圳核芯物联蓝牙aoa技术培训线上线下齐发力,修炼内功,蓄势待发高精度定位行业的头部公司
  19. 刨根问底Objective-C Runtime(1)- Self Super
  20. 我接的是地啊,不,你接的是土!

热门文章

  1. UE3 光照 阴影
  2. 搭建高校AI大数据实训室,2019高校大数据科研教学整体解决方案,数道云
  3. 敏捷 - #1 原则:早期和持续交付有价值的软件 (#1 Agile Principle)
  4. Apache shiro
  5. 主分区、扩展分区和逻辑分区(转载)
  6. android导航栏高度开启,如何在Android中真正获得导航栏高度
  7. redis哨兵模式原理_Redis的哨兵 (sentinal) 机制的工作原理
  8. 项目管理知识体系指南_PMP考前冲刺丨项目管理知识体系指南(PMBOK)串讲(4)...
  9. mysql text 查询速度_数据库学习之让索引加快查询速度(四)
  10. Vue之条件渲染v-if和v-show