当前位置:网站首页>leetcode 剑指 Offer 10- II. 青蛙跳台阶问题
leetcode 剑指 Offer 10- II. 青蛙跳台阶问题
2022-08-05 08:56:00 【Promising_mi】
一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。
答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。
示例 1:
输入:n = 2
输出:2
示例 2:
输入:n = 7
输出:21
示例 3:
输入:n = 0
输出:1
提示:
0 <= n <= 100
思路:
其实和 斐波那契数列 的思想是一样的,到达第n阶台阶的方法有 f(n-1) 和 f(n-2) 种方法。
从第 n-1 到达 第 n 阶就跳一次就够了,所以只有一种方法,而从第 n-2 到 第 n 阶可以一次跳2阶或者一次跳一阶跳2次,后者(一次跳一阶的方法)已经算在 从 n-1 到第 n 阶的方法里了。
所以从 n-2 到 第 n 阶只有唯一的跳2阶的方法了。
所以 f(n) = f(n-1)+f(n-2)
class Solution {
public:
int numWays(int n) {
/*int a=1,b=2; //这里注释掉的代码使用的是动态规划 int h; for(int i=2;i<=n;++i){ h=a+b; h%=1000000007; a=b; b=h; } return a; */
if(n<=1)
return 1;
int dp[n+1];
dp[1]=1;
dp[2]=2;
for(int i=3;i<=n;++i){
dp[i]=dp[i-1]+dp[i-2]; //这里使用数组来存储数值,避免多次重复运算
dp[i]%=1000000007;
}
return dp[n];
}
};
边栏推荐
- D2--FPGA SPI interface communication2022-08-03
- thinkPHP5 realizes clicks (data increment/decrement)
- 七夕看什么电影好?爬取电影评分并存入csv文件
- The difference between beautiful MM and ordinary MM
- 基因数据平台
- 【LeetCode】623. 在二叉树中增加一行
- 程序员的七种武器
- DataFrame insert row and column at specified position
- 百行代码发射红心,程序员何愁命不中女朋友!
- thinkPHP5 实现点击量(数据自增/自减)
猜你喜欢

百行代码发射红心,程序员何愁命不中女朋友!

Creo 9.0 基准特征:基准点

嵌入式实操----基于RT1170 移植memtester做SDRAM测试(二十五)

基因数据平台

Redis implements distributed lock-principle-detailed explanation of the problem

全面讲解GET 和 POST请求的本质区别是什么?原来我一直理解错了

How to replace colors in ps, self-study ps software photoshop2022, replace one color of a picture in ps with another color

egg框架中解决跨域的三种方案

【Excel实战】--图表联动demo_001

CVPR 2022 | 将X光图片用于垃圾分割,港中大(深圳)探索大规模智能垃圾分类
随机推荐
随机码的生成
Creo 9.0 基准特征:基准轴
Redis cache and existing problems--cache penetration, cache avalanche, cache breakdown and solutions
512色色谱图
egg framework
使用HBuilder离线本地打包ipa教程
Embedded practice ---- based on RT1170 transplant memtester to do SDRAM test (25)
行走社会100绝招
spark集群部署(第三弹)
Thinking after writing a code with a very high CPU usage
8.4模拟赛总结
漂亮MM和普通MM的区别
MM上街前的折腾(有趣)
ps怎么替换颜色,自学ps软件photoshop2022,ps一张图片的一种颜色全部替换成另外一种颜色
tear apart loneliness
sql server收缩日志的作业和记录,失败就是因为和备份冲突了吗?
Hbuilder 学习使用中的一些记录
工程制图直线投影练习
ts/js function pass parameter with function writing
DataFrame insert row and column at specified position