您现在的位置是:主页 > news > 中学网站建设方案/如何做运营推广
中学网站建设方案/如何做运营推广
admin2025/6/7 15:31:20【news】
简介中学网站建设方案,如何做运营推广,大连做网站优化公司,商丘网络推广外包题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。时间限制:1秒空间限制:32768K 思路一: 1.假设当有n个台阶时假设有f(n)种走法。 2.青蛙最后一步要么跨1个台阶要么跨2个台阶。 …
中学网站建设方案,如何做运营推广,大连做网站优化公司,商丘网络推广外包题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。时间限制:1秒空间限制:32768K 思路一: 1.假设当有n个台阶时假设有f(n)种走法。 2.青蛙最后一步要么跨1个台阶要么跨2个台阶。 …
思路二:迭代
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
时间限制:1秒空间限制:32768K
思路一:
1.假设当有n个台阶时假设有f(n)种走法。
2.青蛙最后一步要么跨1个台阶要么跨2个台阶。
3.当最后一步跨1个台阶时即之前有n-1个台阶,根据1的假设即n-1个台阶有f(n-1)种走法。
4. 当最后一步跨2个台阶时即之前有n-2个台阶,根据1的假设即n-2个台阶有f(n-2 )种走法。
5.显然n个台阶的走法等于前两种情况的走法之和即f(n)=f(n-1)+f(n-2)。
6.找出递推公式后要找公式出口,即当n为1、2时的情况,显然n=1时f(1)等于1,f(2)等于2
7. | 1, (n=1)
f(n) = |2, (n=2)
| f(n-1)+f(n-2) ,(n>2,n为整数)
链接:https://www.nowcoder.com/questionTerminal/8c82a5b80378478f9484d87d1c5f12a4
来源:牛客网public int JumpFloor(int target) {int result = 0;if(target > 0){if(target<=2)return target;elsereturn result=JumpFloor(target-1)+JumpFloor(target-2);}return result;}
思路二:迭代
public static int JumpFloor(int target) {if (target == 1 || target == 2) {return target;}// 第一阶和第二阶考虑过了,初始当前台阶为第三阶,向后迭代// 思路:当前台阶的跳法总数=当前台阶后退一阶的台阶的跳法总数+当前台阶后退二阶的台阶的跳法总数int jumpSum = 0;// 当前台阶的跳法总数int jumpSumBackStep1 = 2;// 当前台阶后退一阶的台阶的跳法总数(初始值当前台阶是第3阶)int jumpSumBackStep2 = 1;// 当前台阶后退二阶的台阶的跳法总数(初始值当前台阶是第3阶)for (int i = 3; i <= target; i++) {jumpSum = jumpSumBackStep1 + jumpSumBackStep2;jumpSumBackStep2 = jumpSumBackStep1;// 后退一阶在下一次迭代变为后退两阶jumpSumBackStep1 = jumpSum; // 当前台阶在下一次迭代变为后退一阶}return jumpSum;}