求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 解决 1、动态规划 class Solution { public int numWays(int n) { // **3.动态规划**:穷举可以发现f(n)=f(n-1)+f(n-2);确定边界:f(0)=1,f(1)=1,f(2)=2;最佳...
System.out.println("递归青蛙跳"+num+"级台阶共有"+f1(num)+"种方法!"); System.out.println("非递归青蛙跳"+num+"级台阶共有"+f2(num)+MlCUy"种方法!"); } 运行结果: 总结
1、当青蛙第一次跳1个台阶,剩下3个台阶,则还有3种跳法。 2、当青蛙第一次跳2个台阶,剩下2个台阶,则还有2种跳法。 故阶数为4时共有3+2=5种跳法。 同理分析阶数为5的情况。 1、当青蛙第一次跳1个台阶,剩下4个台阶,则还有5种跳法。 2、当青蛙第一次跳2个台阶,剩下3个台阶,则还有3种跳法。
return sum; 处理青蛙 因为从第一节台阶跳到最后一节台阶和从最后一节跳到第一节是一样的,所以f(n) = f(n-1) + f(n-2),f(1) = 1 ,f(2) = 2 int sum = 0; if(n<1) return 0; else if(n==1) return 1; else if(n==2) return 2; else sum = method(n-1) + method(n-2)...
剑指Offer 10- II. 青蛙跳台阶问题 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 示例1: 输入:n = 2 输出:2 示例2:...
青蛙跳台阶问题说的是一个青蛙一次可以跳一个台阶或两个台阶问我们最终跳到n台阶时共有多少种可能性 java采用递归解决青蛙跳台阶问题(有思路详解,还有代码实现) 青蛙跳台阶问题,说的是一个青蛙一次可以跳一个台阶或两个台阶,问我们最终跳到n台阶时共有多少种可能性? 思考思路 1.我们先考虑这个问题的结束条件,即...
题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 示例1:输入:n = 2输出:2 示例2:输入:n = 7输出:21提示:0 <= n <= 100 ...
剑指offer之青蛙跳台阶问题 1 问题 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶,求该青蛙跳上一个n级的台阶总共有多少种跳法? 2 分析 我们可以定位函数f(n),n为n级别的台阶,f(n)的值是青蛙有多少种跳法,我们知道当n为1的时候,f(1) = 1;...
在Java中,青蛙跳台阶是一个经典的递归问题。假设有n级台阶,一只青蛙每次可以跳1级或2级台阶,问青蛙跳上n级台阶总共有多少种跳法。为了解决这个问题,我们可以使用递归方法来编写一个函数。当n等于1或2时,跳法分别为1和2;当n大于2时,青蛙第一次跳的时候有两种选择,要
青蛙跳台阶问题 矩形覆盖问题 收获 正文 本文参考自《剑指offer》一书,代码采用Java语言。 更多:《剑指Offer》Java实现合集 回到顶部 题目 写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项。 回到顶部 思路 如果直接写递归函数,由于会出现很多重复计算,效率非常底,不采用。