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中操作字典之setdefault()方法的使用
May 21 Python
Django框架中方法的访问和查找
Jul 15 Python
Python学习小技巧之列表项的拼接
May 20 Python
python 递归遍历文件夹,并打印满足条件的文件路径实例
Aug 30 Python
Python中文件的读取和写入操作
Apr 27 Python
python 反向输出字符串的方法
Jul 16 Python
在pycharm中设置显示行数的方法
Jan 16 Python
详解python校验SQL脚本命名规则
Mar 22 Python
用vue.js组件模拟v-model指令实例方法
Jul 05 Python
Python 内置函数globals()和locals()对比详解
Dec 23 Python
python神经网络编程之手写数字识别
May 08 Python
Python标准库之typing的用法(类型标注)
Jun 02 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正则匹配汉字的方法介绍
2013/04/25 PHP
浅谈PHP与C#的值类型指向区别的详解
2013/05/21 PHP
php生成QRcode实例
2014/09/22 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
ThinkPHP5.1框架数据库链接和增删改查操作示例
2019/08/03 PHP
javascript 获取元素位置的快速方法 getBoundingClientRect()
2009/11/26 Javascript
ExtJs设置GridPanel表格文本垂直居中示例
2013/07/15 Javascript
jquery获取css中的选择器(实例讲解)
2013/12/02 Javascript
在JavaScript中处理时间之setMinutes()方法的使用
2015/06/11 Javascript
jQuery UI库中dialog对话框功能使用全解析
2016/04/23 Javascript
很棒的Bootstrap选项卡切换效果
2016/07/01 Javascript
react-router中的属性详解
2017/06/01 Javascript
iscroll动态加载数据完美解决方法
2017/07/18 Javascript
修改npm全局安装模式的路径方法
2018/05/15 Javascript
详解webpack自定义loader初探
2018/08/29 Javascript
react脚手架如何配置less和ant按需加载的方法步骤
2018/11/28 Javascript
JQuery Ajax跨域调用和非跨域调用问题实例分析
2019/04/16 jQuery
教你30秒发布一个TypeScript包到NPM的方法步骤
2019/07/22 Javascript
[01:10:03]OG vs EG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
python获取豆瓣电影简介代码分享
2014/01/16 Python
在Django框架中编写Context处理器的方法
2015/07/20 Python
python3使用pyqt5制作一个超简单浏览器的实例
2017/10/19 Python
python中的随机函数小结
2018/01/27 Python
浅谈Pycharm调用同级目录下的py脚本bug
2018/12/03 Python
基于Python的PIL库学习详解
2019/05/10 Python
Python中的 is 和 == 以及字符串驻留机制详解
2019/06/28 Python
pandas对dataFrame中某一个列的数据进行处理的方法
2019/07/08 Python
使用Tensorboard工具查看Loss损失率
2020/02/15 Python
HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍
2013/01/31 HTML / CSS
美国网上书店:Barnes & Noble
2018/08/15 全球购物
Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?
2012/06/05 面试题
奥利奥广告词
2014/03/20 职场文书
关爱留守儿童标语
2014/06/18 职场文书
党员教师四风问题对照检查材料
2014/09/26 职场文书
2014年员工工作总结范文
2014/11/18 职场文书
2021年最新用于图像处理的Python库总结
2021/06/15 Python