Python3爬楼梯算法示例


Posted in Python onMarch 04, 2019

本文实例讲述了Python3爬楼梯算法。分享给大家供大家参考,具体如下:

假设你正在爬楼梯。需要 n 步你才能到达楼顶。

每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

注意:给定 n 是一个正整数。

方案一:每一步都是前两步和前一步的和

class Solution(object):
  def climbStairs(self, n):
    """
    :type n: int
    :rtype: int
    """
    pre, cur = 1, 1
    for i in range(1,n):
      pre,cur = cur,pre+cur
    return cur
#测试
tmp = Solution()
print(tmp.climbStairs(10))

运行结果:

89

方案二:用列表记录每个n对应的值,最后的n取最后一个值即可

class Solution(object):
  def climbStairs(self, n):
    """
    :type n: int
    :rtype: int
    """
    if n == 1:
      return 1
    if n == 2:
      return 2
    res = [1, 2]
    for i in range(2, n):
      res.append(res[i - 1] + res[i - 2])
    return res[-1]
#测试
tmp = Solution()
print(tmp.climbStairs(10))

运行结果:

89

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
在Windows服务器下用Apache和mod_wsgi配置Python应用的教程
May 06 Python
详解Python编程中对Monkey Patch猴子补丁开发方式的运用
May 27 Python
基于python 字符编码的理解
Sep 02 Python
Python中执行存储过程及获取存储过程返回值的方法
Oct 07 Python
彻底理解Python list切片原理
Oct 27 Python
Python调用C语言的方法【基于ctypes模块】
Jan 22 Python
python实现键盘控制鼠标移动
Nov 27 Python
PyQt5 在label显示的图片中绘制矩形的方法
Jun 17 Python
jupyter notebook 中输出pyecharts图实例
Apr 23 Python
Python 使用list和tuple+条件判断详解
Jul 30 Python
python实现ip地址查询经纬度定位详解
Aug 30 Python
Selenium使用Chrome模拟手机浏览器方法解析
Apr 10 Python
Python3最长回文子串算法示例
Mar 04 #Python
Python地图绘制实操详解
Mar 04 #Python
Python基于opencv实现的简单画板功能示例
Mar 04 #Python
python绘制漏斗图步骤详解
Mar 04 #Python
详解Python字典的操作
Mar 04 #Python
Python提取频域特征知识点浅析
Mar 04 #Python
python快排算法详解
Mar 04 #Python
You might like
用PHP读取RSS feed的代码
2008/08/01 PHP
将时间以距今多久的形式表示,PHP,js双版本
2012/09/25 PHP
php函数serialize()与unserialize()用法实例
2014/11/06 PHP
php使用NumberFormatter格式化货币的方法
2015/03/21 PHP
PHP jQuery+Ajax结合写批量删除功能
2017/05/19 PHP
laravel 获取当前url的别名方法
2019/10/11 PHP
Ext GridPanel加载完数据后进行操作示例代码
2014/06/17 Javascript
js 动态修改css文件的方法
2014/08/05 Javascript
js实现键盘Enter键提交表单的方法
2015/05/27 Javascript
非常棒的jQuery图片轮播效果
2016/04/17 Javascript
json对象与数组以及转换成js对象的简单实现方法
2016/06/24 Javascript
详解vue-router 路由元信息
2017/09/13 Javascript
Vue2.0基于vue-cli+webpack Vuex的用法(实例讲解)
2017/09/15 Javascript
探索Vue高阶组件的使用
2018/01/08 Javascript
JavaScript数据结构与算法之二叉树插入节点、生成二叉树示例
2019/02/21 Javascript
JS实现字体背景跑马灯
2020/01/06 Javascript
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
2020/05/29 jQuery
[03:43]2014DOTA2西雅图国际邀请赛 newbee战队巡礼
2014/07/07 DOTA
Python实现TCP/IP协议下的端口转发及重定向示例
2016/06/14 Python
Python socket网络编程TCP/IP服务器与客户端通信
2017/01/05 Python
Python实现导出数据生成excel报表的方法示例
2017/07/12 Python
python3 小数位的四舍五入(用两种方法解决round 遇5不进)
2019/04/11 Python
Python玩转PDF的各种骚操作
2019/05/06 Python
pandas DataFrame创建方法的方式
2019/08/02 Python
使用python实现unix2dos和dos2unix命令的例子
2019/08/13 Python
Python中Selenium库使用教程详解
2020/07/23 Python
HTML5 用动画的表现形式装载图像
2016/03/08 HTML / CSS
AmazeUI 折叠面板的实现代码
2020/08/17 HTML / CSS
美国眼镜网站:EyeBuyDirect
2017/04/13 全球购物
Perfume’s Club英国官网:购买香水和护肤品
2019/11/02 全球购物
政法大学毕业生自荐信范文
2014/01/01 职场文书
国贸专业个人求职信范文
2014/01/08 职场文书
意外伤害赔偿协议书范文
2014/09/23 职场文书
2015年高三毕业班班主任工作总结
2015/10/22 职场文书
Python 批量下载阴阳师网站壁纸
2021/05/19 Python
Matplotlib可视化之添加让统计图变得简单易懂的注释
2021/06/11 Python