剑指offer JZ8

JZ8

原题链接

题目

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

核心

dp 题,写出状态转移方程即可

思路

$f[n] = f[n-2] + f[n-1]$

$T:O(n)$

$S:O(n)$

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Solution {
public:
int jumpFloor(int number) {
int dp[number + 1];
dp[0] = 1;
dp[1] = 1;
if (number == 1) return dp[1];
for (int i = 2; i <= number; i++) {
dp[i] = dp[i - 2] + dp[i - 1];
}
return dp[number];
}

};
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2020-2023 Jack Kong
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信