Climbing Stair爬楼梯算法详解
来源:互联网 发布:阿里巴巴农村淘宝兰西 编辑:程序博客网 时间:2024/06/01 17:22
问题详见: Climbing Stair
题目让我们求解一个n阶的楼梯每次上1步或者2步的情况下有多少种爬法。题目描述如下:
You are climbing a stair case. It takes n steps to reach to the top.
Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
Note: Given n will be a positive integer.
解题思路:
由题可知,阶梯n为1时只有1种走法,n为2时为2种走法,以后n每增加1就会使得第一步走1还是2步的两种走法分别对应n-1和n-2阶的走法,即mem[i] = mem[i-1] + mem[i-2],显然这是斐波那序列。整个算法复杂度为
class Solution {public: int climbStairs(int n) { int* mem = new int[n]; mem[0] = 1; mem[1] = 2; for(int i = 2; i < n; i++){ mem[i] = mem[i-1] + mem[i-2]; } return mem[n-1]; }};
其提交运行结果如下:
阅读全文
0 0
- Climbing Stair爬楼梯算法详解
- Leetcode climbing-stair
- Leetcode 70, Climbing stair
- leetcode_70. Climbing Stairs 爬楼梯,非递归算法
- Climbing Stairs 爬楼梯 @LeetCode
- Leetcode Climbing Stairs 爬楼梯
- LintCode Climbing Stairs 爬楼梯
- Climbing Stairs(爬楼梯)
- LeetCode--Climbing Stairs(爬楼梯)
- 【LeetCode-面试算法经典-Java实现】【073-Climbing Stairs(爬楼梯)】
- LeetCode | Climbing Stairs(爬楼梯)
- Climbing Stairs 爬楼梯方法 动态规划
- LeetCode OJ 之 Climbing Stairs ( 爬楼梯 )
- LeetCode-Climbing Stairs(爬楼梯问题)
- [leetcode]Climbing Stairs(爬楼梯 C语言)
- LintCode | Easy | 爬楼梯 | Climbing Stairs
- Climbing Stairs_爬楼梯_递归
- 爬楼梯(LintCode Climbing Stairs)
- ajax消息通信,单文件上传和多文件上传的前后端实现
- Hibernate——SessionFactory产生session的两种方法
- BOS 第一天 maven ssh
- 架构师之路(四)
- python笔记-010-函数(下)
- Climbing Stair爬楼梯算法详解
- 架构师之路(五)
- 【人工智能】图像识别之小白天书——验证码篇(5)
- 关于阿里云Centos服务器搭建Java网站不能访问的问题
- Okhttp3问题 Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported
- 数据库分区表关联
- 大数据平台安装部署文档 Ambari2.4-HDP2.5
- 解构、参数默认值,不定参数,拓展参数、for of 值遍历
- 解决tensorflow问题, NameError: name 'float32' is not defined