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中pycurl库的用法实例
Sep 30 Python
跟老齐学Python之编写类之四再论继承
Oct 11 Python
python映射列表实例分析
Jan 26 Python
python数据结构之图的实现方法
Jul 08 Python
浅谈flask中的before_request与after_request
Jan 20 Python
Python使用 Beanstalkd 做异步任务处理的方法
Apr 24 Python
Django中间件实现拦截器的方法
Jun 01 Python
Python绘制的二项分布概率图示例
Aug 22 Python
使用Python画出小人发射爱心的代码
Nov 23 Python
Python如何自动获取目标网站最新通知
Jun 18 Python
pytorch随机采样操作SubsetRandomSampler()
Jul 07 Python
Python如何实现远程方法调用
Aug 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
php Smarty 字符比较代码
2011/02/27 PHP
ThinkPHP框架设计及扩展详解
2014/11/25 PHP
百度工程师讲PHP函数的实现原理及性能分析(三)
2015/05/13 PHP
改进:论坛UBB代码自动插入方式
2006/12/22 Javascript
JavaScript 匿名函数(anonymous function)与闭包(closure)
2011/10/04 Javascript
JavaScript字符串String和Array操作的有趣方法
2012/12/18 Javascript
点击按钮或链接不跳转只刷新页面的脚本整理
2013/10/22 Javascript
js将控件隐藏及display属性的使用介绍
2013/12/30 Javascript
改变隐藏的input中value值的方法
2014/03/19 Javascript
JavaScript删除指定子元素代码实例
2015/01/13 Javascript
使用AngularJS制作一个简单的RSS阅读器的教程
2015/06/18 Javascript
微信小程序 HTTPS报错整理常见问题及解决方案
2016/12/14 Javascript
JavaScript实现网页头部进度条刷新
2017/04/16 Javascript
vue+vue-validator 表单验证功能的实现代码
2017/11/13 Javascript
angularjs实现对表单输入改变的监控(ng-change和watch两种方式)
2018/08/29 Javascript
用Cordova打包Vue项目的方法步骤
2019/02/02 Javascript
Jquery cookie插件实现原理代码解析
2020/08/04 jQuery
关于vue-cli3打包代码后白屏的解决方案
2020/09/02 Javascript
Vue封装Axios请求和拦截器的步骤
2020/09/16 Javascript
django admin组件使用方法详解
2019/07/19 Python
python构建指数平滑预测模型示例
2019/11/21 Python
解决python运行启动报错问题
2020/06/01 Python
Python如何对齐字符串
2020/07/30 Python
美国彩妆品牌:Coastal Scents
2017/04/01 全球购物
新西兰演唱会和体育门票网站:Ticketmaster新西兰
2017/10/07 全球购物
介绍下Java中==和equals的区别
2013/09/01 面试题
房屋改造计划书
2014/01/10 职场文书
亚运会口号
2014/06/20 职场文书
人事专员岗位说明书
2014/07/29 职场文书
个人党性分析总结
2015/03/05 职场文书
催款律师函范文
2015/05/27 职场文书
关于空气污染危害的感想
2015/08/11 职场文书
忠诚教育学习心得体会
2016/01/23 职场文书
初一语文教学反思
2016/03/03 职场文书
学习师德师风的心得体会(2篇)
2019/10/08 职场文书
Python如何用re模块实现简易tokenizer
2022/05/02 Python