leetcode-Jump game II
2014-10-22 21:18
337 查看
Greedy
class Solution public: int jump(int A[], int n) { int start = 0; int end = 0; int count = 0; if (n == 1) return 0; while (end < n) {//贪心策略:每次都走到最远的地方。下一轮再把上一轮的end+1作为新的start。直到能覆盖A[n-1]为止。 int max = 0; count++; for (int i = start; i <= end; i++) { if (A[i] + i >= n - 1) return count; if (A[i] + i > max) max = A[i] + i;//其实就是计算下一轮循环所能到达的最远的地方。 } start = end + 1;//下一轮的start以这一轮的end再加1为起点。 end = max;//以这一轮算出的能到达的最远的地方作为下一轮循环的终点。 } } };
相关文章推荐
- [Leetcode] Jump Game ii
- 45. Jump Game II Leetcode Python
- [LeetCode]Jump Game II
- LeetCode: Jump Game II
- leetcode jump game I&&II
- [LeetCode]Jump Game II
- 【Leetcode】之Jump Game II
- 【leetcode】Jump Game II
- Leetcode 55 Jump Game && 45 Jump Game II
- Leetcode:Jump Game II
- [leetcode]Jump Game II @ Python
- leetcode45 Jump Game II
- LEETCODE: Jump Game II
- LeetCode Jump Game II 前跳游戏II
- LeetCode - jump game II
- [leetcode] Jump Game I and II
- Leetcode--Jump Game II
- Leetcode-Jump Game II
- LeetCode 045 Jump Game II
- 【LeetCode】Jump Game II 跳跃游戏II - 贪心 Medium