【每日一题】1269. 停在原地的方案数

https://leetcode-cn.com/problems/number-of-ways-to-stay-in-the-same-place-after-some-steps/submissions/

水个分数

public class Solution {
    public int numWays(int steps, int arrLen){
        final int MODULO = 1_000_000_007;
        int maxColumn = Math.min(arrLen - 1, steps);
        int[][] dp = new int[steps + 1][maxColumn + 1];
        dp[0][0] = 1;
        for(int i = 1; i <= steps; i++){
            for(int j = 0; j <= maxColumn; j++){
                dp[i][j] = dp[i - 1][j];
                if(j - 1 >= 0){
                    dp[i][j] = (dp[i][j] + dp[i - 1][j - 1]) % MODULO;
                }
                if(j + 1 <= maxColumn){
                    dp[i][j] = (dp[i][j] + dp[i - 1][j + 1]) % MODULO;
                }
            }
        }
        return dp[steps][0];
    }
}

原文地址:https://www.cnblogs.com/realzhaijiayu/p/14765663.html