描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
数据范围:1≤�≤401≤n≤40
要求:时间复杂度:�(�)O(n) ,空间复杂度: �(1)O(1)
示例1
输入:
2
复制
返回值:
2
复制
说明:
青蛙要跳上两级台阶有两种跳法,分别是:先跳一级,再跳一级或者直接跳两级。因此答案为2
示例2
输入:
7
复制
返回值:
21
public class Solution {
public int jumpFloor(int target) {
if(target<2){
return target;
}
int pre1=1,pre2=1;
int result=0;
for(int index=2;index<=target;index++){
result=pre1+pre2;
pre1=pre2;
pre2=result;
}
return result;
}
}
青蛙跳台阶问题的动态规划解决方案
这是一个关于青蛙跳台阶的问题,青蛙每次可以跳1级或2级台阶。给定一个n级的台阶,程序需计算出跳上n级台阶的所有不同方法数。已知当n为1或2时,方法数分别为1和2。通过动态规划,计算每个台阶的方法数,其时间复杂度为O(n),空间复杂度为O(1)。示例展示了当n为2和7时,返回的跳法数量分别为2和21。
1145

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



