知名网站建设怎么样,邢台做网站建设优化制作公司金信一条龙,企业网站制作怎么做,四川seo平台目录 题目地址#xff1a; 题目#xff1a; 青蛙跳台阶问题 我们直接看题解吧#xff1a; 相似题目#xff0c;斐波那契数列#xff1a; 解题方法#xff1a; 难度分析#xff1a; 审题目事例提示#xff1a; 解题思路#xff1a; 代码实现#xff1a; 小鸡识补充 题…目录 题目地址 题目 青蛙跳台阶问题 我们直接看题解吧 相似题目斐波那契数列 解题方法 难度分析 审题目事例提示 解题思路 代码实现 小鸡识补充 题目地址 LCR 127. 跳跃训练 - 力扣LeetCode 难度简单 今天刷训练跳跃青蛙跳台阶大家有兴趣可以点上看看题目要求试着做一下。 题目 青蛙跳台阶问题
一只青蛙一次可以跳上1级台阶也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。
答案需要取模 1e971000000007如计算初始结果为1000000008请返回 1。
我们直接看题解吧
相似题目斐波那契数列 斐波那契数列剑指offer力扣-CSDN博客 解题方法 方法是动态规划循环求余法 难度分析 这道题目正在难点在于找出跳跃台阶或者格子的规律其本质还是求斐波那契数列。 审题目事例提示 结果可能过大因此结果需要取模 1e971000000007如计算初始结果为1000000008请返回 1。 解题思路 在一般情况下可以把n级台阶的跳法看成n的函数记为f(n)那么一般情况下一开始我们有两种不同的选择 第一步只跳一级此时跳法数目等于后面剩下的n-1级 台阶的跳法数目即f(n-1)第一步跳两级那么跳法数目等于后面剩下的n-2级台阶的跳法数目即f(n-2)。 所以f(n)f(n-1)f(n-2)。 或者这样理解 第一步只跳一级n-1个台阶有f(n-1)种跳法最后还剩一个台阶最后青蛙只能最后一跳 第一步跳两级n-2个台阶有f(n-2)种跳法最后剩余二个台阶有两种跳法 ·一次跳两阶 ·一次跳一个台阶 但是这种跳法其实已经在n-1个台阶里包含了 所以 f(n)f(n-1)f(n-2) 这道题与斐波那契数列稍微不同点在于起始点的不同 阶梯跳跃训练f(0)1,f(1)1,f(2)2... 斐波那契数列f(0)0,f(1)1,f(2)1... 代码实现
class Solution {public int trainWays(int num) {int a 1, b 1, sum; //跟斐波那契数列的小区别for(int i 0; i num; i){ //从0开始循环遍历sum (a b) % 1000000007; //取模a b;b sum;}return a;}
}小鸡识补充 为什么res要模1000000007 因为这个数字是10位的最小质数上面的代码并没有问题只是数字太大会造成溢出需要将计算结果 % 1000000007才能保证得出的结果在int 范围中