题解 | #跳台阶扩展问题#

跳台阶扩展问题

https://www.nowcoder.com/practice/22243d016f6b47f2a6928b4313c85387

import java.util.*;


public class Solution {
    /**
     * 思路:
     跳到第n个台阶的跳法=跳到第n-1个台阶的跳法+跳到第n-2个台阶的跳法+...跳到第2个台阶的跳法+跳到第1个台阶的跳法+1
     *
     *公式为 dp[n]=dp[n-1]+dp[n-2]+...dp[2]+dp[1]+1;
     *同样dp[n-1]=dp[n-2]+dp[n-3]+...+ dp[2]+dp[1]+1;
     *两公式相减得:dp[n]=dp[n-1]*2 
     * @param number int整型 
     * @return int整型
     */
    public int jumpFloorII (int number) {
        if(number<=1){
            return 1;
        }
        int [] dp=new int[number];
        dp[0]=1;
        dp[1]=2;
        for(int i=2;i<number;i++){
            dp[i]=dp[i-1]*2;
        }
        return dp[number-1];
    }
}

全部评论

相关推荐

07-29 14:37
门头沟学院 Java
点赞 评论 收藏
分享
06-18 08:36
湖南大学 Java
运营你豪哥:没啥拷打的 1.增加量化结果,现在有点缺效果数据 2.突出复杂性,现在的项目描述有点像功能清单,强调一下技术难点和解决方案。
不给转正的实习,你还去吗
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
08-01 18:38
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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