地址:https://leetcode.com/problems/jump-game/
题目:
https://leetcode.com/problems/merge-intervals/
Example 1:
Example 2:
理解:
在有序的情况下,直接从头到尾和并一次就可以了。
实现:
在排序的时候,end的大小其实是不重要的。
class Solution {
public:
vector<Interval> merge(vector<Interval>& intervals) {
if (intervals.empty()) return{};
vector<Interval> res;
sort(intervals.begin(), intervals.end(), [](const Interval &lhs, const Interval &rhs) {return lhs.start < rhs.start; });
res.push_back(intervals[0]);
for (int i = 1; i < intervals.size(); ++i) {
if (intervals[i].start <= res.back().end)
res.back().end = max(res.back().end, intervals[i].end);
else
res.push_back(intervals[i]);
}
return res;
}
};