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中super关键字用法实例分析
May 28 Python
Python语言描述随机梯度下降法
Jan 04 Python
tornado 多进程模式解析
Jan 15 Python
python用户管理系统
Mar 13 Python
python版本单链表实现代码
Sep 28 Python
python开发准备工作之配置虚拟环境(非常重要)
Feb 11 Python
python3使用matplotlib绘制条形图
Mar 25 Python
opencv调整图像亮度对比度的示例代码
Sep 27 Python
对python中arange()和linspace()的区别说明
May 03 Python
python 下载文件的几种方法汇总
Jan 06 Python
Python命令行参数argv和argparse该如何使用
Feb 08 Python
Python源码解析之List
May 21 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 图像处理类1
2009/06/15 PHP
PHP下对字符串的递增运算代码
2010/08/21 PHP
php gzip压缩输出的实现方法
2013/04/27 PHP
php使用正则验证中文
2016/04/06 PHP
Yii2框架实现注册和登录教程
2016/09/30 PHP
Laravel基础_关于view共享数据的示例讲解
2019/10/14 PHP
JS 实现导航栏悬停效果(续)
2013/09/24 Javascript
浅析js中的浮点型运算问题
2014/01/06 Javascript
Jquery实现侧边栏跟随滚动条固定(兼容IE6)
2014/04/02 Javascript
javascript if条件判断方法小结
2014/05/17 Javascript
JS动态添加选项案例分析
2016/10/17 Javascript
bootstrap日历插件datetimepicker使用方法
2016/12/14 Javascript
Angular企业级开发——MVC之控制器详解
2017/02/20 Javascript
Vue.js实战之组件的进阶
2017/04/04 Javascript
微信小程序微信支付接入开发实例详解
2017/04/12 Javascript
分析javascript中9 个常见错误阻碍你进步
2017/09/18 Javascript
Vue中computed与methods的区别详解
2018/03/24 Javascript
原生JavaScript实现五子棋游戏
2020/11/09 Javascript
element-ui中el-upload多文件一次性上传的实现
2020/12/02 Javascript
Python转码问题的解决方法
2008/10/07 Python
完美解决Python matplotlib绘图时汉字显示不正常的问题
2019/01/29 Python
对Django中static(静态)文件详解以及{% static %}标签的使用方法
2019/07/28 Python
python实现代码统计程序
2019/09/19 Python
HTML5实现一个能够移动的小坦克示例代码
2013/09/02 HTML / CSS
Erwin Müller穆勒家居瑞士官网:您整个家庭的邮购公司
2019/12/28 全球购物
施华洛世奇新加坡官网:SWAROVSKI新加坡
2020/10/06 全球购物
精彩的英文自荐信
2014/01/30 职场文书
电子装配专业毕业生求职信
2014/04/23 职场文书
汉语言文学毕业求职信
2014/07/17 职场文书
2014年服装销售工作总结
2014/11/27 职场文书
2014年体检中心工作总结
2014/12/23 职场文书
2015年教师节活动总结
2015/03/20 职场文书
高考要来啦!用Python爬取历年高考数据并分析
2021/06/03 Python
Python如何解决secure_filename对中文不支持问题
2021/07/16 Python
Mysql InnoDB 的内存逻辑架构
2022/05/06 MySQL
win10如何快速切换窗口 win10切换窗口快捷键分享
2022/07/23 数码科技