剑指offer--跳台阶(动态规划)

Posted 编程ABC

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer--跳台阶(动态规划)相关的知识,希望对你有一定的参考价值。


题目描述:

一只青蛙一次可以跳上1 级台阶,也可以跳上2 级。求该青蛙跳上一个n 级的台阶总共有多少种跳法(先后次序不同算不同的结果)。

思路:

  典型的动态规划问题,对于第n阶台阶来说,有两种办法,一种是爬一个台阶,到第n-1阶;第二种是爬两个台阶,到第n-2阶。

得出动态规划递推式:F(n)=F(n-1)+F(n-2)

python实现:


class Solution: def jumpFloor(self, number): if number < 0: return 0 if number == 1: return 1 if number == 2: return 2 result = [1, 2] for i in range(2,number): result.append(result[i-1] + result[i-2]) return result[-1]



    


以上是关于剑指offer--跳台阶(动态规划)的主要内容,如果未能解决你的问题,请参考以下文章

剑指offer---09---动态规划:变态跳台阶

剑指offer(C++)-JZ69:跳台阶(算法-动态规划)

剑指offer(C++)-JZ69:跳台阶(算法-动态规划)

剑指offer 跳台阶

剑指offer 变态跳台阶

70. 爬楼梯(剑指 Offer 10- II. 青蛙跳台阶问题)-动态规划