# 2400. Number of Ways to Reach a Position After Exactly k Steps ###### tags: `Leetcode` `Medium` `Dynamic Programming` Link: https://leetcode.com/problems/number-of-ways-to-reach-a-position-after-exactly-k-steps/ ## 思路 时间序列型dp 到现在为止的number of ways只跟到旁边两个位置的number of ways有关 ## Code ```java= class Solution { public int numberOfWays(int startPos, int endPos, int k) { long[][] dp = new long[2*k+1][k+1]; int mod = 1000000007; dp[k][0] = 1; if(Math.abs(endPos-startPos)>k) return 0; for(int j=1; j<=k; j++){ for(int i=-k; i<=k; i++){ if(Math.abs(i-1)<=k) dp[i+k][j] = (dp[i+k][j]+dp[i-1+k][j-1])%mod; if(Math.abs(i+1)<=k) dp[i+k][j] = (dp[i+k][j]+dp[i+1+k][j-1])%mod;; } } return (int)dp[endPos-startPos+k][k]; } } ```