题目来源:

  https://leetcode.com/problems/climbing-stairs/


题意分析:

  爬楼梯,一次可以爬一步或者两步。如果要爬n层,问一共有多少种爬法。比如说,如果是3层,可以有[[1,1,1],[1,2],[2,1]]共3种方法。


题目思路:

  这是一个典型的动态规划问题。n层的方法数 = n - 1层的方法数 + n - 2层的方法数。


代码(Python):

  

 class Solution(object):
def climbStairs(self, n):
"""
:type n: int
:rtype: int
"""
if n == 1 or n == 0:
return 1
i,tmp1,tmp2 = 2,1,1
while i <= n:
tmp1 = tmp1 + tmp2
if i == n:
return tmp1
i += 1
tmp2 = tmp1 + tmp2
if i == n:
return tmp2
i += 1

转载请注明出处:http://www.cnblogs.com/chruny/p/5045540.html

最新文章

  1. matlab 连续读取多个文件
  2. JavaWeb前端: JavaScript 简介
  3. ActiveMQ第二弹:使用Spring JMS与ActiveMQ通讯
  4. js之内置对象
  5. 转:实体ToolTip显示XData
  6. bnuoj 33648 Neurotic Network(树形模拟题)
  7. windows phone 生产含logo的二维码
  8. iOS DES 加密转base64
  9. win7重装系统时,使用PE工具箱进入系统看到的“C盘变成0.2G,D盘变成48G左右”这是什么回事?
  10. php 数组去除空值
  11. 浅谈 PHP 神盾的解密过程
  12. Servlet容器模型(四)ServletConfig、ServletContext
  13. 1.phpStrom连接远程代码
  14. elementUI vue v-model的修饰符
  15. Node.js学习起步
  16. LeetCode算法题(长期更新)
  17. Linux - 变量的查看与设置
  18. 几何学观止(Riemann流形部分)
  19. PHP脚本不报错的两点原因
  20. 使用mybatis-generator-core工具自动生成mybatis实体

热门文章

  1. Ubuntu创建快捷方式
  2. SDOTOJ2088 refresh的停车场(栈和队列)
  3. ZOJ 3829 Known Notation (2014牡丹江H称号)
  4. JVM参数
  5. 2014.9.20CSS样式表
  6. 红豆带你从零学C#系列之:开始C#编程(一)
  7. ASP.NET MVC 必备知识点杂谈
  8. WinSock网络编程基础(1)
  9. Android应用如何开机自启动、自启动失败原因
  10. (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)