题解 | #跳台阶#

跳台阶

https://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4

总结:
可以使用两种方法递归和动态规划,其中动态规划避免了大量重复计算,时间复杂度更优

public class Solution {

    public int jumpFloor(int target) {
        //方法1递归(时间复杂度2^n,内部有很多重复计算)
//         if(target<=1)
//             return 1;
//         else{
//             return jumpFloor(target-1)+jumpFloor(target-2);
//         }
        //方法二(动态规划,从下往上,将计算需要用到的值保存下来,避免重复计算)
        if(target<=1)
            return 1;
        else{
            int f1=1,f2=1;
            int f=0;
            for(int i=2;i<=target;i++){
                f = f1+f2;
                f1 = f2;
                f2 = f;

            }
            return f;

        }
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-10 14:10
啊啊啊啊好幸福,妈妈是我找工作发疯前的一束光
榕城小榕树:你是我见过最幸福的牛客男孩
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-10 11:45
你不要过来啊啊啊啊啊啊啊
码农索隆:对面:“今天你不面也得面”
点赞 评论 收藏
分享
05-30 12:03
山西大学 C++
offer来了我跪着...:不是骗子,等到测评那一步就知道为啥这么高工资了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 15:08
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务