TS数据结构与算法之青蛙跳台阶有几种方式
2022-03-12 本文已影响0人
子十一刻
问题:
- 一只青蛙, 一次可跳1级,也可跳2级
- 问:青蛙跳到n级台阶,总共有多少种方式?
用动态规划分析问题
- 要跳到1级台阶,就1种方式
f(1) = 1
- 要跳到2级台阶,就2种方式
f(2) = 2
- 要跳到n级台阶,
f(n) = f(n - 1) + f(n - 2)
思路:首先考虑n等于0、1、2时的特殊情况,f(0) = 0 f(1) = 1 f(2) = 2 其次,当n=3时,青蛙的第一跳有两种情况:跳1级台阶或者跳两级台阶,假如跳一级,那么 剩下的两级台阶就是f(2);假如跳两级,那么剩下的一级台阶就是f(1),因此f(3)=f(2)+f(1) 当n = 4时,f(4) = f(3) +f(2),以此类推...........可以联想到Fibonacci数列。因此,实现方式和之前的斐波那契数列完全一样。