Climbing Stairs -- LeetCode
原题链接: http://oj.leetcode.com/problems/climbing-stairs/
这道题目是求跑楼梯的可行解法数量。每一步可以爬一格或者两个楼梯,可以发现,递推式是f(n)=f(n-1)+f(n-2),也就是等于前一格的可行数量加上前两格的可行数量。熟悉的朋友可能发现了,这个递归式正是 斐波那契数列 的定义,不熟悉的朋友可以看看 Wiki - 斐波那契数列 。根据这个定义,其实很容易实现,可以用递归或者递推都是比较简单的,下面列举一下递推的代码:
public int climbStairs(int n) {int f1 = 1;int f2 = 2;if(n==1)return f1;if(n==2)return f2;for(int i=3;i<=n;i++){int f3 = f1+f2;f1 = f2;f2 = f3;}return f2;
}
可以很容易判断,上面代码的时间复杂度是O(n),面试一般都会实现一下,不过还没完,面试官会接着问一下,有没有更好的解法?还真有,斐波那契数列其实是有O(logn)的解法的。根据wiki我们知道,斐波那契数列是有通项公式的,如下:
![](http://4.bp.blogspot.com/-bbZQqH4wYGw/U1ADg2ckfHI/AAAAAAAAAPE/HO5ahr4ew5A/s1600/c6dc35b68545005b9b6fa6995c4f6d52.png)
Climbing Stairs -- LeetCode相关推荐
- Climbing Stairs leetcode java
题目: You are climbing a stair case. It takes n steps to reach to the top. Each time you can either cl ...
- 【动态规划 斐波那切数列】LeetCode 746. Min Cost Climbing Stairs
LeetCode 746. Min Cost Climbing Stairs 本博客转载自:http://www.cnblogs.com/grandyang/p/8343874.html 存在无代价的 ...
- 【斐波那切数列】LeetCode 70. Climbing Stairs
LeetCode 70. Climbing Stairs 这是一道利用斐波那切数列求解的题目.求斐波那切数列有比较经典的4种方法 (1)递归法:复杂度太高 (2)迭代法:时间复杂度为O(n)O(n)O ...
- [勇者闯LeetCode] 70. Climbing Stairs
[勇者闯LeetCode] 70. Climbing Stairs Description You are climbing a stair case. It takes n steps to rea ...
- [LeetCode]70.Climbing Stairs
[题目] You are climbing a stair case. It takes n steps to reach to the top. Each time you can either c ...
- 算法:Climbing Stairs(爬楼梯) 6种解法
说明 算法:Climbing Stairs(爬楼梯) LeetCode地址:https://leetcode.com/problems/climbing-stairs/ 题目: You are cli ...
- 10.2 动态规划算法套路及空间优化 —— Climbing Stairs Unique Paths
这一篇文章从最简单的动态规划题目开始,结合上一节动态规划三要素,以LeetCode两道基础的DP题目阐述DP问题的基本套路解法. 70. Climbing Stairs You are climbin ...
- Cllimbing Stairs [LeetCode 70]
1- 问题描述 You are climbing a stair case. It takes n steps to reach to the top. Each time you can eithe ...
- 70. Climbing Stairs
70. Climbing Stairs 1. 题目 You are climbing a stair case. It takes n steps to reach to the top. Each ...
最新文章
- 美国研发出百万兆级计算机 Summit,“最强超算”竞争加剧
- 如果你不曾失败,只因你从未尝试
- 如何使用grup制作U盘多重启动盘
- 程序员如何用Python了解女朋友的情绪变化?
- Swift 协议protocol
- iOS: 让自定义控件适应Autolayout注意的问题
- jsp java循环读取json_JAVA JSON遍历问题,求解(内附代码)
- 四剑客查找字符_linux 四剑客 find 、grep、sed、awk整理
- 上班摸鱼更方便了!国内最大短视频APP推出PC版:联想首发
- linux主机设备acl,linux上的终端类型、ACL、PAM模块
- 海康、大华等厂家监控摄像机rtsp地址格式
- Angularjs的IOC Inject分析
- 将Banner美观的放置于博客首页上
- 502php,php502是什么问题
- python下载网页歌曲
- 移动应用接入网页QQ登录
- 在PPT中批量导入图片
- ReThought (二): 如何照顾团队中的新人
- (5.7)mysql高可用系列——MySQL中的GTID复制(理论篇)【转】
- 【神经网络+数学】——(4)神经网络求解二元偏微分问题(二阶偏微分)