找回密码
 立即注册
首页 业界区 安全 剑指offer-8、跳台阶

剑指offer-8、跳台阶

支季雅 6 天前
题⽬

⼀只⻘蛙⼀次可以跳上1级台阶,也可以跳上2级。求该⻘蛙跳上⼀个 n 级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
示例1
输⼊:2
输出:2
解释:⻘蛙要跳上两级台阶有两种跳法,分别是:先跳⼀级,再跳⼀级或者直接跳两级。因此答案为2
示例2
输⼊:7
输出:21
示例3:
输⼊:0
输出:0
思路及解答

动态规划

这题和第7题 斐波那契数列 基本类似,只是换了一个题目表达方式。
青蛙跳到第n级台阶的跳法数 dp 取决于两种最后一步的选择:

  • 从第i-1级跳1级:跳法数为 dp[i-1]
  • 从第i-2级跳2级:跳法数为 dp[i-2]
使用数组 dp,其中 dp 表示跳到第 i 级台阶的跳法数
状态转移​:  dp = dp[i-1] + dp[i-2],初始化 dp[1] = 1,dp[2] = 2
[code]public int  rectCover(int target){    if target
您需要登录后才可以回帖 登录 | 立即注册