[2021校招必看之Java版《剑指offer》-05] 变态跳台阶

文章目录

  • 1、题目描述
  • 2、解题思路
    • 2.1 动态规划
    • 2.2 递推法
  • 3、解题代码
    • 3.1 非递归
    • 3.2 递归
    • 3.3 递推法
  • 4、解题心得

1、题目描述

  【JZ09】一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
  知识点:递归,动态规划,递推
  难度:☆

2、解题思路

2.1 动态规划

  设f[i]表示跳到第i个台阶的方法数。那么f[n]就是所求答案。
  假设现在已经跳到了第n个台阶,那么前一步可以从哪些台阶到达呢?
  如果上一步跳1步到达第n个台阶,说明上一步在第n-1个台阶。而跳到第n-1个台阶的方法数为f[n-1]
  如果上一步跳2步到达第

你可能感兴趣的:(剑指offer(Java语言))