
还是先找出关系式 不用麻烦了,青蛙很忙的,青蛙不会飞,从零开始跳
| 台阶 | 跳法 |
|---|---|
| 1 | 1(1) |
| 2 | 2(1 1, 2) |
| 3 | 4(1 1 1,1 2,2 1,3) |
| 4 | 8 (1 1 1 1,1 1 2,1 2 1,1 3,2 1 1,2 2,3 1,4) |
可以看出来 关系式是 N = N-1 +2*(N-2)
JAVA:
public class Solution {
public int JumpFloorII(int target) {
int[] save = {0,1,2};
if(target >= 0 && target<3)
return save[target];
int all = 0;
int first = 2;
int end =1;
for(int i =3;i<=target;i++){
all = first + 2*end;
end = first;
first = all;
}
return all;
}
}
本文详细解析了青蛙跳台阶问题的算法,通过递推关系式N=N-1+2*(N-2)来求解不同台阶数的跳跃方法数量。并提供了一个Java实现示例,展示了如何使用数组和循环来高效计算解决方案。
2828

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



