Jump Game II
public class Solution {
/**
* @param A: A list of integers
* @return: An integer
*/
public int jump(int[] A) {
int n = A.length;
int[] dp = new int[n];
dp[0] = 0;
for (int i = 1; i < n; i++) {
dp[i] = Integer.MAX_VALUE; //套路 - 求最短,就先设置一个最长的数值
for (int j = 0; j < i; j++) {
if (dp[j] + 1 < dp[i] && A[j] >= i - j) {
dp[i] = dp[j] + 1;
}
}
}
return dp[n - 1];
}
}
最后更新于
这有帮助吗?