[LeetCode]Jump Game
2013-05-29 19:42
465 查看
class Solution { //O(n^2) TLE //using segment overlap O(nlogn) public: struct Seg { int x, y; Seg(int _x=0, int _y=0):x(_x),y(_y){} bool operator < (const Seg& rhs) const { if(x != rhs.x) return x < rhs.x; else return y < rhs.y; } }; bool canJump(int A[], int n) { // Start typing your C/C++ solution below // DO NOT write int main() function if(0 == n) return false; vector<Seg> seg(n); for (int i = 0; i < n; ++i) seg[i] = Seg(i, i+A[i]); sort(seg.begin(), seg.end()); //then process int reach = 0; for (int i = 0; i < n; ++i) if(seg[i].x <= reach) reach = max(reach, seg[i].y); if(reach >= n-1) return true; else return false; } };
second time
class Solution { public: bool canJump(int A[], int n) { // Start typing your C/C++ solution below // DO NOT write int main() function int start = 0; int end = 0; while(end < n-1) { int newEnd = start; for(int i = start; i <= end; ++i) newEnd = max(newEnd, i+A[i]); if(newEnd == end) return false; start = end+1; end = newEnd; } if(end >= n-1) return true; else return false; } };
相关文章推荐
- LeetCode: Jump Game
- [leetcode] Jump Game
- leetcode hard模式专杀之55. Jump Game
- 【LeetCode】55. Jump Game (Medium)
- LeetCode-55-Jump Game 贪心水题
- LeetCode 55. Jump Game
- 【leetcode】【55】Jump Game
- LeetCode 55: Jump Game
- LeetCode | 55. Jump Game循环技巧题
- LeetCode_55---Jump Game
- [LeetCode]Jump Game
- [LeetCode] Jump Game 解题报告
- leetcode做题总结,动态规划I(Triangle,Unique PathsI/II,Minimum Path Sum,Climbing Stairs,Jump Game,Word Break)
- 34_leetcode_Jump Game
- leetcode - Jump Game
- [leetcode题后感]Jump Game
- leetcode——Jump Game
- 56 leetcode - Jump Game
- leetcode—Jump Game
- LeetCode No.55 Jump Game