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 相关文章推荐
Python函数参数类型*、**的区别
Apr 11 Python
Python使用requests及BeautifulSoup构建爬虫实例代码
Jan 24 Python
python中datetime模块中strftime/strptime函数的使用
Jul 03 Python
python处理multipart/form-data的请求方法
Dec 26 Python
Python何时应该使用Lambda函数
Jul 02 Python
python读写csv文件方法详细总结
Jul 05 Python
python之列表推导式的用法
Nov 29 Python
Python多进程编程multiprocessing代码实例
Mar 12 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
Apr 27 Python
Django 如何实现文件上传下载
Apr 08 Python
Python - 10行代码集2000张美女图
May 23 Python
python scipy 稀疏矩阵的使用说明
May 26 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中的 == 运算符进行字符串比较
2006/11/26 PHP
深入PHP内存相关的功能特性详解
2013/06/08 PHP
php文件上传你必须知道的几点
2015/10/20 PHP
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
2018/12/08 PHP
PHP crypt()函数的用法讲解
2019/02/15 PHP
在Laravel中使用MongoDB的方法示例
2019/11/11 PHP
CSS心形加载的动画源码的实现
2021/03/09 HTML / CSS
JavaScript 检测浏览器和操作系统的脚本
2008/12/26 Javascript
使用jquery动态加载javascript以减少服务器压力
2012/10/29 Javascript
Jquery实现搜索框提示功能示例代码
2013/08/13 Javascript
解析jquery中的ajax缓存问题
2013/12/19 Javascript
JS实现鼠标箭头变成一个燃烧烛光效果的方法
2015/02/28 Javascript
基于Node.js实现nodemailer邮件发送
2016/01/26 Javascript
JS回调函数简单用法示例
2017/02/09 Javascript
nodejs中sleep功能实现暂停几秒的方法
2017/07/12 NodeJs
关于Promise 异步编程的实例讲解
2017/09/01 Javascript
vue项目实现github在线预览功能
2018/06/20 Javascript
VUE-cli3使用 svg-sprite-loader
2018/10/20 Javascript
jQuery实现动态添加和删除input框代码实例
2019/03/29 jQuery
解决vue-router 嵌套路由没反应的问题
2020/09/22 Javascript
[44:15]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第二局
2016/03/06 DOTA
[02:40]2018年度DOTA2最佳新人-完美盛典
2018/12/16 DOTA
python获取Linux下文件版本信息、公司名和产品名的方法
2014/10/05 Python
Python中用Decorator来简化元编程的教程
2015/04/13 Python
Python松散正则表达式用法分析
2016/04/29 Python
网站渗透常用Python小脚本查询同ip网站
2017/05/08 Python
python使用itchat实现手机控制电脑
2018/02/22 Python
python通过微信发送邮件实现电脑关机
2018/06/20 Python
django ModelForm修改显示缩略图 imagefield类型的实例
2019/07/28 Python
美国羊皮公司:Overland
2018/01/15 全球购物
美国领先的水果篮送货公司和新鲜水果供应商:The Fruit Company
2018/02/13 全球购物
TOWER London官网:鞋子、靴子、运动鞋等
2019/07/14 全球购物
俄罗斯韩国化妆品网上商店:Cosmasi.ru
2019/10/31 全球购物
2014年工程部工作总结
2014/11/25 职场文书
实习工作表现评语
2014/12/31 职场文书
离婚上诉状范文
2015/05/23 职场文书