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 25 Python
Python使用MD5加密字符串示例
Aug 22 Python
python回溯法实现数组全排列输出实例分析
Mar 17 Python
Python两个整数相除得到浮点数值的方法
Mar 18 Python
Python中endswith()函数的基本使用
Apr 07 Python
Python实现删除排序数组中重复项的两种方法示例
Jan 31 Python
Python的log日志功能及设置方法
Jul 11 Python
Python3 文章标题关键字提取的例子
Aug 26 Python
python基本算法之实现归并排序(Merge sort)
Sep 01 Python
python logging模块的使用详解
Oct 23 Python
详解tensorflow之过拟合问题实战
Nov 01 Python
PyQt5爬取12306车票信息程序的实现
May 14 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 socke 向指定页面提交数据
2008/07/23 PHP
PHP+XML 制作简单的留言本 图文教程
2009/11/02 PHP
php实现的农历算法实例
2015/08/11 PHP
Yii中srbac权限扩展模块工作原理与用法分析
2016/07/14 PHP
PHP中的密码加密的解决方案总结
2016/10/26 PHP
php微信公众号开发之欢迎老朋友
2018/10/20 PHP
Yii Framework框架使用PHPExcel组件的方法示例
2019/07/24 PHP
漂亮的thinkphp 跳转页封装示例
2019/10/16 PHP
PHP 实现链式操作
2021/03/09 PHP
最短的IE判断var ie=!-[1,]分析
2014/05/28 Javascript
iframe调用父页面函数示例详解
2014/07/17 Javascript
jQuery实现带动画效果的多级下拉菜单代码
2015/09/08 Javascript
thinkphp实现无限分类(使用递归)
2015/12/19 Javascript
AngularJS中一般函数参数传递用法分析
2016/11/22 Javascript
BootstrapValidator超详细教程(推荐)
2016/12/07 Javascript
JavaScript计时器用法分析【setTimeout和clearTimeout】
2017/01/18 Javascript
基于MVC方式实现三级联动(JavaScript)
2017/01/23 Javascript
jQuery+ajax实现修改密码验证功能实例详解
2017/07/06 jQuery
jQuery md5加密插件jQuery.md5.js用法示例
2018/08/24 jQuery
在Create React App中启用Sass和Less的方法示例
2019/01/16 Javascript
Vue中this.$nextTick的作用及用法
2020/02/04 Javascript
vue2.x 对象劫持的原理实现
2020/04/19 Javascript
深度解读vue-resize的具体用法
2020/07/08 Javascript
Vue实现背景更换颜色操作
2020/07/17 Javascript
JavaScript实现多层颜色选项卡嵌套
2020/09/21 Javascript
python用reduce和map把字符串转为数字的方法
2016/12/19 Python
Python实现从log日志中提取ip的方法【正则提取】
2018/03/31 Python
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
2018/04/26 Python
python中的二维列表实例详解
2018/06/19 Python
python判断文件是否存在,不存在就创建一个的实例
2019/02/18 Python
python 梯度法求解函数极值的实例
2019/07/10 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
利用HTML5中Geolocation获取地理位置调用Google Map API在Google Map上定位
2013/01/23 HTML / CSS
商务英语本科生的自我评价分享
2013/11/15 职场文书
天猫某品牌专卖店运营计划书
2014/03/21 职场文书
授权委托书公证
2014/09/14 职场文书