leetcode 70. Climbing Stairs爬梯子(DP问题)
来源:互联网 发布:virtualbox nat网络 编辑:程序博客网 时间:2024/06/02 11:07
问题描述:
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个台阶,需要上到第n-2个台阶,最后加2,或者到第n-1个台阶,最后加1,所以可以考虑采用递归的算法。
递归思想代码:
class Solution { public int climbStairs(int n) { if(n == 1) return 1; if(n == 2) return 2; return climbStairs(n-1) + climbStairs(n-2); }}
但是这种递归太慢了,提交结果显示Time Limit Exceeded,考虑采用动态规划
class Solution { public int climbStairs(int n) { int f1 = 1; int f2 = 2; int f3 = 0; if(n == 1) return 1; if(n == 2) return 2; for(int i = 3; i <= n; i++){ f3 = f1 + f2; f1 = f2; f2 = f3; } return f3; }}
阅读全文
0 0
- leetcode 70. Climbing Stairs爬梯子(DP问题)
- Climbing Stairs【爬梯子问题】【容易】
- 算法4 爬梯子Climbing Stairs
- leetcode-70. Climbing Stairs(DP)
- LeetCode [DP]70. Climbing Stairs
- LeetCode 子 Climbing Stairs
- 【Leetcode】Climbing Stairs (DP)
- LeetCode Climbing Stairs DP
- [leetcode][DP] Climbing Stairs
- leetcode---climbing-stairs---dp
- Leetcode-Climbing Stairs(dp)
- 70. Climbing Stairs (dp)
- LeetCode 70. Climbing Stairs 动态规划问题
- LeetCode-Climbing Stairs(爬楼梯问题)
- LeetCode-Climbing Stairs(爬楼梯问题)
- [LeetCode]70.Climbing Stairs
- LeetCode --- 70. Climbing Stairs
- [Leetcode] 70. Climbing Stairs
- IT行业的风险投资
- static 关键字
- 让sublime等同web storm
- 设计模式C++实现(13)——中介者模式
- Linux网络连接模式以及修改静态IP
- leetcode 70. Climbing Stairs爬梯子(DP问题)
- 小班研讨课的感想
- isEqual
- 编辑距离问题
- 2015年蓝桥杯JavaB组表格计算
- C# Linq查询的基本练习
- Python基础学习(3)
- C#事件学习
- 删除元素,在原数组上