lintcode-111-爬楼梯
111-爬楼梯
假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?
样例
比如n=3,1+1+1=1+2=2+1=3,共有3中不同的方法
返回 3标签
动态规划
思路
使用动态规划,用 dp[i] 记录走到第 i 步共有多少种方法
动态转移方程为:dp[i] = dp[i-1] + dp[i-2]
比如:
登上第1级:1种
登上第2级:2种
登上第3级:1+2=3种(前一步要么从第1级迈上来,要么从第2级迈上来)
登上第4级:2+3=5种(前一步要么从第2级迈上来,要么从第3级迈上来)
登上第5级:3+5=8种
登上第6级:5+8=13种
登上第7级:8+13=21种
登上第8级:13+21=34种
登上第9级:21+34=55种
登上第10级:34+55=89种
code
class Solution {
public:/*** @param n: An integer* @return: An integer*/int climbStairs(int n) {// write your code hereif(n <= 0) {return 1;}vector<int> dp(n+1, 0);dp[1] = 1;dp[2] = 2;for(int i=3; i<=n; i++) {dp[i] = dp[i-1] + dp[i-2];}return dp[n];}
};
转载于:https://www.cnblogs.com/libaoquan/p/7200461.html
lintcode-111-爬楼梯相关推荐
- LintCode 111. 爬楼梯 JavaScript算法
描述 假设你正在爬楼梯,需要n步你才能到达顶部.但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部? 样例 - Example 1:Input: n = 3Output: 3Explanat ...
- python小明爬楼梯_LintCode Python 简单级题目 111.爬楼梯 (斐波纳契数列 青蛙跳)
**设f(n)为n阶台阶的情况下,所有不同的跳法方法的总和!** 1.如果起始跳一阶的话,剩余的n-1阶就有 f(n-1) 种跳法: 2.如果起始跳二阶的话,剩余的n-2阶就有 f(n-2) 种跳法: ...
- lintcode: 爬楼梯
题目: 爬楼梯 假设你正在爬楼梯,需要n步你才能到达顶部.但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部? 样例 比如n=3,1+1+1=1+2=2+1=3,共有3中不同的方法 返回 3 ...
- LintCode Climbing Stairs 爬楼梯
中文描述: 假设你正在爬楼梯,需要n步你才能到达顶部.但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部? 样例 比如n=3,1+1+1=1+2=2+1=3,共有3中不同的方法 返回 3 E ...
- Python 爬楼梯问题--有n阶台阶,上楼可以一步上1阶,2阶,3阶,计算共有多少种不同的走法?
Python爬楼梯问题:有n阶台阶,上楼可以一步上1阶,2阶,3阶,计算共有多少种不同的走法? 总共n步台阶(先假设n>3),f(n)表示n步台阶的走法总数 1.第一步如果是只走1步台阶,剩下的 ...
- python爬楼梯多少种_Python 爬楼梯问题--有n阶台阶,上楼可以一步上1阶,2阶,3阶,计算共有多少种不同的走法?...
Python爬楼梯问题:有n阶台阶,上楼可以一步上1阶,2阶,3阶,计算共有多少种不同的走法? 总共n步台阶(先假设n>3),f(n)表示n步台阶的走法总数 1.第一步如果是只走1步台阶,剩下的 ...
- 【算法】1041- 图解 LeetCode第 70 题爬楼梯问题
最近开始努力研究算法,遇到这个很有意思的题目,因为从中复习到斐波那契数列,又通过某篇资料,查到中科院官网,看了很多科普文章.深挖下去能看到很多东西. 本着热爱分享的初衷,整理本文与大家分享,题目本身没 ...
- LeetCode简单题之爬楼梯
题目 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n = 2 输出:2 解释:有两种方法可以爬到楼顶. 1 ...
- LeetCode实战:爬楼梯
题目英文 You are climbing a stair case. It takes n steps to reach to the top. Each time you can either c ...
- 【每日一算法】爬楼梯
微信改版,加星标不迷路! 每日一算法-爬楼梯 作者:阿广 阅读目录 ? 题目 ? 解析 ? 完整代码 1 题目 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多 ...
最新文章
- python源代码最多的学习网站_史上最全Python学习资料大合集分享
- Javascript 获取浏览器窗口中文档(视口)可用尺寸的方法
- MFC下绘制曲线工具Teechart使用
- Spring Boot 项目瘦身指南,非常实用!
- Prism+WPF使用DependencyInjection实现AutoMapper的依赖注入功能
- Permissions for id_rsa are too open
- 如何导出已安装的安卓app为apk包
- mysql 分页效率_MYSql分页查询效率提高
- Productivity Power Tools 动画演示(转)
- Nginx 如何开启gzip 来提高页面加载速度
- pcs7组态虚拟机中的服务器,PCS7冗余服务器配置
- Premiere银色金属玻璃质感logo标志片头AE模板mogrt
- 阿里淘咖啡火了 全球九大无人便利店物联网技术方案详解
- 链家网页爬虫_爬虫小技巧——以最简单的方式爬取链家房源信息
- 人教版三年级计算机教学计划,2017人教版三年级信息技术教学计划范文
- ISCSI的target和initiator的部署
- vue网易云歌单案例
- C++ opencv之像素值统计(minMaxLoc,meanStdDev)
- 火狐浏览器怎么清理缓存、cookie等?
- c++Tomorrow never knows?
热门文章
- 【渝粤教育】广东开放大学 建筑设备 形成性考核 (33)
- 计算机视觉实战(三)阈值与平滑处理
- 理解GAN生成对抗网络
- 好好的虚拟机不能用了, 出现无法打开内核设备\\.\Global\vmx86: 系统找不到指定的文件的错误, 以下是网上找到的解决方法,亲测可用...
- 【完美】mac word2016 安装 endnote x9
- java 实现类似spring的可配置的AOP框架
- 线段树(SegmentTree)学习笔记
- C++详解new/delete
- 使用 PHP Curl 做数据中转
- [转]日常交际技巧经验总结100句