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 相关文章推荐
python3使用tkinter实现ui界面简单实例
Jan 10 Python
Python+django实现文件上传
Jan 17 Python
Python分析学校四六级过关情况
Nov 22 Python
python基础教程项目三之万能的XML
Apr 02 Python
CentOS 7 安装python3.7.1的方法及注意事项
Nov 01 Python
python中图像通道分离与合并实例
Jan 17 Python
django 读取图片到页面实例
Mar 27 Python
Django框架获取form表单数据方式总结
Apr 22 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
May 10 Python
Python变量及数据类型用法原理汇总
Aug 06 Python
python进行OpenCV实战之画图(直线、矩形、圆形)
Aug 27 Python
Python如何利用pandas读取csv数据并绘图
Jul 07 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
「OVERLORD」动画重要删减!雅儿贝德的背叛?至尊猎杀队结成
2020/04/09 日漫
php下关于中英数字混排的字符串分割问题
2010/04/06 PHP
PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例
2019/12/31 PHP
jquery遍历input取得input的name
2009/04/27 Javascript
让你的博客飘雪花超出屏幕依然看得见
2013/01/04 Javascript
有关于eclipse配置spket需要注意的一些地方
2013/04/07 Javascript
javascript获取url上某个参数的方法
2013/11/08 Javascript
JavaScript设计模式之工厂模式和构造器模式
2015/02/11 Javascript
JS正则RegExp.test()使用注意事项(不具有重复性)
2016/12/28 Javascript
快速实现JS图片懒加载(可视区域加载)示例代码
2017/01/04 Javascript
vue实现倒计时获取验证码效果
2020/04/17 Javascript
vuex存值与取值的实例
2019/11/06 Javascript
create-react-app中添加less支持的实现
2019/11/15 Javascript
vue2路由方式--嵌套路由实现方法分析
2020/03/06 Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
2020/08/12 Javascript
JS如何监听div的resize事件详解
2020/12/03 Javascript
[01:22:28]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第一场 1月18日
2021/03/11 DOTA
Python 如何访问外围作用域中的变量
2016/09/11 Python
Python之Web框架Django项目搭建全过程
2017/05/02 Python
ActiveMQ:使用Python访问ActiveMQ的方法
2019/01/30 Python
python用requests实现http请求代码实例
2019/10/31 Python
Django连接数据库并实现读写分离过程解析
2019/11/13 Python
解决pip install psycopg2出错问题
2020/07/09 Python
python 求两个向量的顺时针夹角操作
2021/03/04 Python
凯特·丝蓓英国官网:Kate Spade英国
2016/11/07 全球购物
捷克领先的户外服装及配件市场零售商:ALPINE PRO
2018/01/09 全球购物
初二生物教学反思
2014/02/03 职场文书
2014年三八妇女节活动总结
2014/03/01 职场文书
小学工作总结2015
2015/05/04 职场文书
2015年度优秀员工获奖感言
2015/07/31 职场文书
大队委员竞选演讲稿
2015/11/20 职场文书
2016年劳模先进事迹材料
2016/02/25 职场文书
MySQL性能压力基准测试工具sysbench的使用简介
2021/04/21 MySQL
MyBatis-Plus 批量插入数据的操作方法
2021/09/25 Java/Android
「约定的梦幻岛」作画发布诺曼生日新绘
2022/03/21 日漫
Nginx反向代理、重定向
2022/04/13 Servers