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数据类型转换函数总结
Mar 11 Python
python实现简单的TCP代理服务器
Oct 08 Python
Python单元测试框架unittest简明使用实例
Apr 13 Python
python实现对一个完整url进行分割的方法
Apr 29 Python
python 垃圾收集机制的实例详解
Aug 20 Python
python列表的增删改查实例代码
Jan 30 Python
Flask项目中实现短信验证码和邮箱验证码功能
Dec 05 Python
Python GUI自动化实现绕过验证码登录
Jan 10 Python
使用 prometheus python 库编写自定义指标的方法(完整代码)
Jun 29 Python
Python基于正则表达式实现计算器功能
Jul 13 Python
Python如何输出百分比
Jul 31 Python
Python中的 enumerate和zip详情
May 30 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
终于听上了直流胆调频
2021/03/02 无线电
ThinkPHP实现登录退出功能
2017/06/29 PHP
php面向对象重点知识分享
2019/09/27 PHP
treepanel动态加载数据实现代码
2012/12/15 Javascript
JS实现图片预加载无需等待
2012/12/21 Javascript
ECMAScript 5严格模式(Strict Mode)介绍
2015/03/02 Javascript
【经典源码收藏】jQuery实用代码片段(筛选,搜索,样式,清除默认值,多选等)
2016/06/07 Javascript
微信小程序 火车票查询实例讲解
2016/10/17 Javascript
AngularJS打开页面隐藏显示表达式用法示例
2016/12/25 Javascript
微信小程序中用WebStorm使用LESS
2017/03/08 Javascript
jQuery插件HighCharts绘制2D带有Legend的饼图效果示例【附demo源码下载】
2017/03/10 Javascript
自制简易打赏功能的实例
2017/09/02 Javascript
jQuery选择器之表单元素选择器详解
2017/09/19 jQuery
react-native封装插件swiper的使用方法
2018/03/20 Javascript
详解各版本React路由的跳转的方法
2018/05/10 Javascript
记一次webpack3升级webpack4的踩坑经历
2018/06/12 Javascript
mpvue+vant app搭建微信小程序的方法步骤
2019/02/11 Javascript
记录微信小程序 height: calc(xx - xx);无效问题
2019/12/30 Javascript
详解JavaScript中的链式调用
2020/11/27 Javascript
[07:20]2018DOTA2国际邀请赛寻真——逐梦Mineski
2018/08/10 DOTA
[02:08]什么藏在DOTA2 TI9“小紫本”里?斧王历险记告诉你!
2019/05/17 DOTA
Python中用于转换字母为小写的lower()方法使用简介
2015/05/19 Python
利用Python批量提取Win10锁屏壁纸实战教程
2018/03/27 Python
[原创]Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】
2018/10/29 Python
python函数声明和调用定义及原理详解
2019/12/02 Python
python实点云分割k-means(sklearn)详解
2020/05/28 Python
在网络中有两台主机A和B,并通过路由器和其他交换设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排
2014/01/13 面试题
校园网站的创业计划书范文
2013/12/30 职场文书
大学生实习思想汇报
2014/01/12 职场文书
化妆品促销方案
2014/02/24 职场文书
岗位竞聘书范文
2014/03/31 职场文书
数据保密承诺书
2014/06/03 职场文书
校园安全广播稿范文
2014/09/25 职场文书
公司业务员管理制度
2015/08/05 职场文书
MySQL大小写敏感的注意事项
2021/05/24 MySQL
Javascript中Microtask和Macrotask鲜为人知的知识点
2022/04/02 Javascript