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实现连接SQLite数据库的方法
Aug 23 Python
python里大整数相乘相关技巧指南
Sep 12 Python
python中随机函数random用法实例
Apr 30 Python
Python功能键的读取方法
May 28 Python
Python中Django 后台自定义表单控件
Mar 28 Python
python实现数据图表
Jul 29 Python
python绘制多个子图的实例
Jul 07 Python
python 实现dict转json并保存文件
Dec 05 Python
TensorFlow tf.nn.max_pool实现池化操作方式
Jan 04 Python
Django中的session用法详解
Mar 09 Python
python爬虫请求头设置代码
Jul 28 Python
opencv深入浅出了解机器学习和深度学习
Mar 17 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
这部好评如潮的动漫 知名梗频出 但是画风劝退很多人
2020/03/08 日漫
simplehtmldom Doc api帮助文档
2012/03/26 PHP
php随机生成数字字母组合的方法
2015/03/18 PHP
服务器迁移php版本不同可能诱发的问题
2015/12/22 PHP
php session实现多级目录存放实现代码
2016/02/03 PHP
PHP框架性能测试报告
2016/05/08 PHP
详解Laravel视图间共享数据与视图Composer
2016/08/04 PHP
Laravel使用memcached缓存对文章增删改查进行优化的方法
2016/10/08 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
在JavaScript中构建ArrayList示例代码
2014/09/17 Javascript
js使用DOM操作实现简单留言板的方法
2015/04/10 Javascript
jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
2015/12/12 Javascript
javascript汉字拼音互转的简单实例
2016/10/09 Javascript
使用jquery实现的循环连续可停顿滚动实例
2016/11/23 Javascript
Node.js中文件操作模块File System的详细介绍
2017/01/05 Javascript
js鼠标移动时禁止选中文字
2017/02/19 Javascript
各种选择框jQuery的选中方法(实例讲解)
2017/06/27 jQuery
nodejs body-parser 解析post数据实例
2017/07/26 NodeJs
vue跨域解决方法
2017/10/15 Javascript
Javascript中从学习bind到实现bind的过程
2018/01/05 Javascript
JavaScript实现删除数组重复元素的5种常用高效算法总结
2018/01/18 Javascript
Vue 实现复制功能,不需要任何结构内容直接复制方式
2019/11/09 Javascript
Vue页面刷新记住页面状态的实现
2019/12/27 Javascript
用python与文件进行交互的方法
2018/03/01 Python
python leetcode 字符串相乘实例详解
2018/09/03 Python
Tensorflow使用支持向量机拟合线性回归
2018/09/07 Python
Python 二叉树的层序建立与三种遍历实现详解
2019/07/29 Python
解决python的空格和tab混淆而报错的问题
2021/02/26 Python
有关HTML5中背景音乐的自动播放功能
2017/10/16 HTML / CSS
学习十八大的心得体会
2014/09/01 职场文书
2014年中职班主任工作总结
2014/12/16 职场文书
趣味运动会开幕词
2015/01/28 职场文书
行政介绍信范文
2015/05/04 职场文书
工作建议书范文
2019/07/08 职场文书
2019年英语版感谢信(8篇)
2019/09/29 职场文书
创业计划书之网吧
2019/10/10 职场文书