概述
牛客题霸NC68跳台阶Java题解
https://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4?tpId=117&&tqId=34990&rp=1&ru=/ta/job-code-high&qru=/ta/job-code-high/question-ranking
方法1:动态规划
解题思路:此题与斐波那契数列相似。
当target<=1时,返回1,当target==2时,返回2,当target>=3时,返回前两项和。
public class Solution {
public int JumpFloor(int target) {
if(target <= 1){
return 1;
}
if(target == 2){
return 2;
}
int[] res = new int[target+1];
//用来存储每个target对应的跳法。
res[0] = 1;
res[1] = 1;
res[2] = 2;
for(int i = 3;i<=target;i++){
res[i] = res[i-1]+res[i-2];
}
return res[target];
}
}
方法2:递归
解题思路:当target<=1时,返回1,当target>=2时,返回 return JumpFloor(target-1)+JumpFloor(target-2)。
public class Solution {
public int JumpFloor(int target) {
if(target <= 1){
return 1;
}
return JumpFloor(target-1)+JumpFloor(target-2);
}
}
最后
以上就是魁梧小蝴蝶为你收集整理的牛客题霸NC68跳台阶Java题解的全部内容,希望文章能够帮你解决牛客题霸NC68跳台阶Java题解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复