【LEETCODE】70-Climbing Stairs
2015-11-30 19:47
435 查看
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?
http://www.zhihu.com/question/23995189
什么是动态规划?动态规划的意义是什么?
动态规划的本质,是对问题状态的定义和状态转移方程的定义。
如何拆分问题,才是动态规划的核心。
而拆分问题,靠的就是状态的定义和状态转移方程的定义。
要解决这个问题,我们首先要定义这个问题和这个问题的子问题
叫做对状态的定义。
上述状态定义好之后,状态和状态之间的关系式,就叫做状态转移方程。
参考: http://www.cnblogs.com/zuoyuan/p/3753553.html
如果有n个台阶,那么走完n个台阶的方式有f(n)种。
而走完n个台阶有两种方法,先走完n-2个台阶,然后跨2个台阶;
先走完n-1个台阶,然后跨1个台阶。所以f(n) = f(n-1) + f(n-2)。
![](http://img.blog.csdn.net/20151130201923802?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
http://www.zhihu.com/question/23995189
什么是动态规划?动态规划的意义是什么?
动态规划的本质,是对问题状态的定义和状态转移方程的定义。
如何拆分问题,才是动态规划的核心。
而拆分问题,靠的就是状态的定义和状态转移方程的定义。
要解决这个问题,我们首先要定义这个问题和这个问题的子问题
叫做对状态的定义。
上述状态定义好之后,状态和状态之间的关系式,就叫做状态转移方程。
参考: http://www.cnblogs.com/zuoyuan/p/3753553.html
如果有n个台阶,那么走完n个台阶的方式有f(n)种。
而走完n个台阶有两种方法,先走完n-2个台阶,然后跨2个台阶;
先走完n-1个台阶,然后跨1个台阶。所以f(n) = f(n-1) + f(n-2)。
class Solution(object): def climbStairs(self, n): """ :type n: int :rtype: int """ dp=[1 for i in range(n+1)] for i in range(2,n+1): dp[i]=dp[i-1]+dp[i-2] return dp
相关文章推荐
- 找不到或无法加载主类(Exception in thread "main
- C++拷贝构造函数详解 http://blog.csdn.net/lwbeyond/article/details/6202256
- 图标课AI
- Redhat7 配置软RAID(mdadm)
- BFS预处理 hihoCoder1251 Today Is a Rainy Day
- linker command failed with exit code 1 (use -v to see invocation)
- ORA-00054:资源正忙,要求指定NOWAIT
- Cowardly refusing to `sudo brew update` or failure
- 出现( linker command failed with exit code 1)错误总结汇总
- 分治法求最近点对
- IBM AIX 系统Lpar学习以及资源调整
- paintEvent()重绘事件
- 警告:Block的Retain Cycle的解决方法
- IPC-Binder连接池
- 【索引】2015 Multi-University Training Contest
- HTML5 Canvas渐进填充与透明(摘自 http://blog.csdn.net/jia20003/article/details/9251893)
- ping失败,如果在路由表main内没有entry
- Idea创建main函数
- Daily Scrum - 11/30
- 初探glusterfs-处理脑裂(split-brain)状态