动态规划法解题:有n级台阶,一个人每次上一级或者两级,问有多少种走完n级台阶的方法。
动态规划的实现的关键在于能不能准确合理的用动态规划表来抽象出 实际问题。在这个问题上,我们让f(n)表示走上n级台阶的方法数。[br][/br]那么当n为1时,f(n) = 1,n为2时,f(n) =2,就是说当台阶只有一级的时候,方法数是一种,台阶有两级的时候,方法数为2。那么当我们要走上n级台阶,必然是从n-1级台阶迈一步或者是从n-2级台阶迈两步,所以到达n级台阶的方法数必然是到达n-1级台阶的方法数加上到达n-2级台阶的方法数之和。即f(n) = f(n-1)+f(n-2),我们用dp[n]来表示动态规划表,dp[i],i>0,i<=n,表示到达i级台阶的方法数。[/i]
举一反三
- 爬楼梯问题:有一楼梯共n级台阶,有一小朋友一次可以迈1,2或3级台阶, 求共有多少不同的走法走完这n级台阶。回答该问题最适合使用哪种算法? A: 分治法 B: 回溯法 C: 贪心算法 D: 动态规划
- 一楼梯有[tex=0.643x0.786]SBMIs+VUk7//BOpfqlQl0w==[/tex]级台阶,某人由下向上走,若每一步只能跨一级或两级楼梯,他从地面走到第[tex=0.643x0.786]SBMIs+VUk7//BOpfqlQl0w==[/tex]级楼梯有多少种走法?
- 楼梯一共有n个台阶,爬楼梯的人一次可以走一个台阶,或者两个台阶。那么,走到台阶顶时,一共有多少种走法(用F(n)表示)。
- 1.引领者与宾客距离( )级台阶为宜。 A: 三、四级 B: 一、两级 C: 两、三级 D: 五、六级
- 1.引领者与宾客距离( )级台阶为宜。 A: 三、四级 B: 一、两级 C: 两、三级 D: 五、六级
内容
- 0
青蛙跳台阶:一只青蛙一次可以跳上1级台阶,也可以跳上2级。 求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
- 1
面试题:斐波那契数列题目一:写一个函数,输入n,求裴波那契(Fibonacci)数列的第n项。裴波那契数列的定义如下:题目二:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
- 2
爬楼梯问题:有一楼梯共6级台阶,小朋友一次可以迈1,2或3级台阶, 问共有多少不同的走法走完这6级台阶?
- 3
突发公共卫生事件预警,“橙色”表示() A: Ⅳ级\n B: Ⅲ级\n C: Ⅱ级\n D: Ⅰ级
- 4
我们在爬楼梯时,有时一步走一级台阶,有时一步走两级台阶.现在规定一步只能走一级或两级台阶,爬上七级台阶有多少种不同的走法?