题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)
第一级台阶1种,第二级台阶2种,第四级3种,第四级5种,第五级8种,每一级台阶跳法是前两级跳法的和
符合斐波那契数列
f(n)=f(n-1)+f(n-2)也可以理解青蛙有两种跳法,n-1级台阶跳一级和n-2台阶跳2级
public class Solution {
public int JumpFloor(int target) {
int result=0;
int num1=1;
int num2=1;
if(target==1)
return 1;
for(int i=2;i<=target;i++){
result=num1+num2;
num1=num2;
num2=result;
}
return result;
}
}
本文探讨了青蛙跳上n级台阶的不同跳法数量问题,通过斐波那契数列的特性,提供了一种高效计算跳法总数的方法。使用递推公式f(n)=f(n-1)+f(n-2),避免了重复计算,实现了O(n)的时间复杂度。
4545

被折叠的 条评论
为什么被折叠?



