LeetCode70:Climbing Stairs
来源:互联网 发布:贵州省望谟县人口数据 编辑:程序博客网 时间:2024/05/17 04:58
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?
设到第i台阶有A[i]
那么到第1台阶有A[1]=1种方法
那么到第2台阶有A[2]=2种方法
那么到第3台阶有A[3]=A[1]+A[2]=3种方法
那么到第4台阶有A[4]=A[2]+A[3]=5种方法
...
那么这个动态规划的初始状态A[i]就代表到第i台阶的方法。状态转移方程:
A[i]=A[i-1]+A[i-2].i>=3
A[1]=1,A[2]=2
并且由于上面A[i]只与A[i-1]和A[i-2]有关,所以可以和前面的House Robber问题一样在O(1)的空间复杂度内解决问题。
class Solution {public: int climbStairs(int n) { if(n==1) return 1; if(n==2) return 2; int last=2,pLast=1; for(int i=3;i<=n;i++) { pLast=last+pLast; swap(pLast,last); } return last; }};
0 0
- Leetcode70:Climbing Stairs
- LeetCode70:Climbing Stairs
- LeetCode70. Climbing Stairs
- leetcode70-Climbing Stairs
- leetcode70:Climbing Stairs
- LeetCode70. Climbing Stairs
- leetcode70: Climbing Stairs
- leetcode70~Climbing Stairs
- LeetCode70. Climbing Stairs
- LeetCode70. Climbing Stairs
- leetcode70. Climbing Stairs
- LeetCode70. Climbing Stairs
- LeetCode70. Climbing Stairs题解
- LeetCode70 Climbing Stairs
- LeetCode70.Climbing Stairs
- LeetCode70 Climbing Stairs
- leetcode70- Climbing Stairs
- LeetCode70——Climbing Stairs
- Android Design Support Library学习
- 测试
- 此系列博文的由来
- C#接口
- SGU137 Funny Strings
- LeetCode70:Climbing Stairs
- 2015061402 - 如果每天阅读了一本书?
- RabbitMQ入门
- vijos1057
- java 框架基础知识(5)----注解-->Spring配置
- 基于Nginx反向代理的SparkUI的访问
- Android性能优化典范
- hdu 1496 Equations (hash)
- java对象克隆之深度克隆 deep clone