题解 | #跳台阶,dp+滚动数组,空间O(1)#

跳台阶

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

public class Solution {
    public int jumpFloor(int target) {
        if(target <= 2) return target  ;
        int dp[] = new int[2] ;//dp[i]前i个台阶有多少种跳法
        int l_l = 0 ;
        int l = 1 ;
        dp[l_l] = 1 ;
        dp[l] = 2 ;
        for(int i = 2 ; i < target ; i ++) {
            dp[(l + 1) % 2] = dp[l] + dp[l_l] ;
            l = (l + 1) % 2 ;
            l_l = (l_l + 1) % 2 ;
        }
        return dp[l] ;
    }
}

一个菜鸟的算法刷题记录 文章被收录于专栏

分享一个菜鸟的成长记录

全部评论

相关推荐

2 收藏 评论
分享
牛客网
牛客企业服务