递归、动态规划--跳台阶

跳台阶

http://www.nowcoder.com/questionTerminal/8c82a5b80378478f9484d87d1c5f12a4

题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
示例1
输入
复制
1
返回值
复制
1
示例2
输入
复制
4
返回值
复制
5

public class Solution {
    public int JumpFloor(int target) {
        //方法一:递归  326ms   9820KB
//         if(target==1){
//             return 1;
//         }
//         if(target==2){
//             return 2;
//         }
//         return JumpFloor(target-1)+JumpFloor(target-2);
        //方法二:动态规划  13ms  9668kB
        if(target==1){
            return 1;
        }
        if(target==2){
            return 2;
        }
        int[] ans=new int[target];
        ans[0]=1;
        ans[1]=2;
        for(int i=2;i<target;i++){
            ans[i]=ans[i-1]+ans[i-2];
        }
        return ans[target-1];
    }
}
全部评论

相关推荐

面了100年面试不知...:被割穿了才想起来捞人了
投递哔哩哔哩等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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