45. Jump Game II
来源:互联网 发布:在淘宝上搜血滴子 编辑:程序博客网 时间:2024/06/07 17:39
1刷
一开始直接用dp超时了,想了想就用贪心优先队列过了!!!!
记得优先队列怎样写!!!
Priority——queue
!!!!
class Solution {public: struct node{ int now; int num; friend bool operator < (node a, node b){ if(a.num == b.num) return a.now > b.now; else return a.num < b.num; } }; int jump(vector<int>& nums) { if(nums.size() == 1) return 0; priority_queue<node>qu; int n = 1; int now = 0; while(now + nums[now] < nums.size() - 1){ while(!qu.empty()) qu.pop(); for(int i = now + 1; i <= now + nums[now]; ++ i){ node t; t.now = i; t.num = i + nums[i]; qu.push(t); } node u; u = qu.top(); n++; now = u.now; } return n; }};
2刷
1刷用了优先队列,2刷还是用贪心,有几种贪心的方法,就是写出来会有小细节的万恶提,3刷继续。
class Solution {public: int jump(vector<int>& nums) { if(nums.size() <= 1) return 0; int now = 0, step = 0, maxx = 0; for(int i = 0; i < nums.size(); ++ i){ maxx = max(maxx, nums[i] + i); if(maxx >= nums.size() - 1){ step++; break; } if(now == i){ now = maxx; step++; } } return step; }};
0 0
- 45. Jump Game II
- 45. Jump Game II
- 45. Jump Game II
- 45. Jump Game II
- 45. Jump Game II
- 45. Jump Game II
- 45. Jump Game II
- 45. Jump Game II
- 45. Jump Game II
- 45. Jump Game II
- 45. Jump Game II
- 45. Jump Game II
- 45. Jump Game II
- 45. Jump Game II
- 45. Jump Game II
- 45. Jump Game II
- 45. Jump Game II
- 45. Jump Game II
- Persistent Things
- 42. Trapping Rain Water
- 43. Multiply Strings
- 44. Wildcard Matching
- win10并盘问题
- 45. Jump Game II
- 46. Permutations
- 47. Permutations II
- Quartz 2D 以及手势的综合 小demo
- 48. Rotate Image
- SpringBoot开发详解(一)--初识SpringBoot
- 如何在Github Pages搭建自己写的页面?
- 移动开发框架 Weex 简介大会观点
- python中的编码问题