题目:

爬楼梯

假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?

样例

比如n=3,1+1+1=1+2=2+1=3,共有3中不同的方法

返回 3

解题:

动态规划题目,同时还是有顺序的,把n拆成 1 、2 的组合 有多少种方式,动态规划,掌握的不好,不能够灵活运行,看看这个能否自己解决。表示没有成功,,九章找的程序。。。

更新

对 n个的台阶,最后一次走,可以走一个台阶,也可以走两个台阶,则f(n) = f(n-1) + f(n-1)

初始值:f(1) = 1  f(2) = 2 f(3) = 3

这个就是费波那列数列,下面的程序就好理解了

java程序:

public class Solution {/*** @param n: An integer* @return: An integer*/public int climbStairs(int n) {// write your code hereif (n <= 1) {return n;}int last = 1, lastlast = 1;int now = 0;for (int i = 2; i <= n; i++) {now = last + lastlast;lastlast = last;last = now;}return now;}
}

View Code

总耗时: 1204 ms

表示不理解

这里递归程序,很好理解

Java程序:

public class Solution {/*** @param n: An integer* @return: An integer*/public int climbStairs(int n) {// write your code hereif (n == 0 || n == 1) return 1;  if (n < 0) return 0;  return climbStairs(n - 1) + climbStairs(n - 2); }
}

View Code

90%测试数据的时候运行事件超时,上面博客中说了与求费波那列数列很想,然后就可以给写成非递归的程序,就和上面的一样了。下面Python程序就是根据递归的写的。所以重点还是把问题细化,分化求解。

Python程序:

class Solution:"""@param n: An integer@return: An integer"""def climbStairs(self, n):# write your code hereif n==0 or n==1:return 1if n< 0:return 0f0 = 1 f1 = 1 i = 2while i<= n:f = f0 + f1f0 = f1f1 = fi += 1 return f 

View Code

总耗时: 423 ms

lintcode: 爬楼梯相关推荐

  1. LintCode 111. 爬楼梯 JavaScript算法

    描述 假设你正在爬楼梯,需要n步你才能到达顶部.但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部? 样例 - Example 1:Input: n = 3Output: 3Explanat ...

  2. LintCode Climbing Stairs 爬楼梯

    中文描述: 假设你正在爬楼梯,需要n步你才能到达顶部.但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部? 样例 比如n=3,1+1+1=1+2=2+1=3,共有3中不同的方法 返回 3 E ...

  3. LeetCode简单题之爬楼梯

    题目 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n = 2 输出:2 解释:有两种方法可以爬到楼顶. 1 ...

  4. LeetCode实战:爬楼梯

    题目英文 You are climbing a stair case. It takes n steps to reach to the top. Each time you can either c ...

  5. 【每日一算法】爬楼梯

    微信改版,加星标不迷路! 每日一算法-爬楼梯 作者:阿广 阅读目录 ? 题目 ? 解析 ? 完整代码 1 题目 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多 ...

  6. msteel能计算钢结构楼梯吗_坚持爬楼梯能减肥吗 怎么爬楼梯可以减肥

    现在很多高楼都装有电梯,因此很多人都偏向于挤电梯而不是爬楼梯.即使自己所在的楼层很低都是这样的.但其实适当的爬楼梯是有利于锻炼身体的,据说还有减肥的功效.那么你觉得坚持爬楼梯能减肥吗?下面我们一起去健 ...

  7. 计蒜客 挑战难题 爬楼梯

    计蒜客 挑战难题 爬楼梯 假设你现在正在爬楼梯,楼梯有n级.每次你只能爬1级或者2级,那么你有多少种方法爬到楼梯的顶部? 格式: 第一行输入一个数n(n<=50),代表楼梯的级数. 接下来一行输 ...

  8. 《LeetCode力扣练习》第70题 爬楼梯 Java

    <LeetCode力扣练习>第70题 爬楼梯 Java 一.资源 题目: 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶 ...

  9. 【LeetCode】70.爬楼梯

    题目 假设你正在爬楼梯,需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶,你有多少种不同的方法可以爬到楼顶呢? 题解 方法1:基本递归 算法 基本递归即初学递归时所学的最简单.最直观的方 ...

最新文章

  1. const volatile同时限定一个类型int a = 10
  2. OpenCASCADE:网格
  3. swift:创建表格UITableView
  4. 1592E - Скучающий Бакри
  5. java实现表达式求值_如何编写一个高效的Java表达式求值程序
  6. Java 线程池相关问题
  7. 腾讯视频怎么上传自己的视频?
  8. mysql原生sql语句_原生SQL语句
  9. 贵阳打出大数据战略组合拳
  10. Quartus-II实现D触发器的三种方式
  11. 何钦铭.c语言程序设计,《C语言程序设计》 - 何钦铭
  12. linux wifi 8192移植 及部分wifi工具的使用
  13. 数据分析:逻辑树分析模型
  14. Python将单一数字标签进行one-hot编码
  15. 混合开发中,H5页面如何监听Android手机返回键
  16. 12.1.2、Doris__基本使用、doris的基本命令、建表概念、语句、建表语法、建表方式(引擎存储规则)、导入数据的方式、支持的数据类型、rollup索引
  17. 解决SVN pristine text xxxx not present问题
  18. 山雨欲来风满楼——“基金销售新规”解读
  19. python数字转大写字母_python变量名称如何转化为大写字母?
  20. 神奇旋转,告诉我她是顺时针还是逆时针旋转

热门文章

  1. linux查看内核版本、系统版本、系统位数(32or64)
  2. JUnit单元测试中的setUpBeforeClass()、tearDownAfterClass()、setUp()、tearDown()方法小结
  3. gentoo下gnome的抓图功能
  4. 最详细的SQL注入相关的命令整理
  5. java 鼠标 停止工作原理,java系统级的键盘和鼠标状态
  6. 超效率dea模型_【探索】基于超效率DEA模型的我国公立医院排行榜研究
  7. 如何ping端口_复刻smartbits的国产网络性能测试工具minismb-如何配置Ping报文
  8. C语言学习笔记--预编译/宏定义/数组/参数传递/函数指针
  9. SDN — 技术的发展
  10. python使用笔记:pynput库控制键盘鼠标