本文共 424 字,大约阅读时间需要 1 分钟。
题目:
解答:
动态规划
p[i]代表能否跳转到第i个位置
那么p[i] 由前面的决定
p[i] = ((i - j) <= A[j]) && p[j];
代码:
class Solution { public: bool canJump(int A[], int n) { bool p[100000]; p[0] = true; for (int i = 0; i < n; i++) { for (int j = 0; j < i; j++) { p[i] = ((i - j) <= A[j]) && p[j]; if (p[i] == true) break; } } return p[n - 1]; } };
另外该贴中有O(n)复杂度的算法
http://blog.csdn.net/xiaozhuaixifu/article/details/13628465