LeetCode-56-Merge Intervals
生活随笔
收集整理的這篇文章主要介紹了
LeetCode-56-Merge Intervals
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
算法描述:
Given a collection of intervals, merge all overlapping intervals.
Example 1:
Input: [[1,3],[2,6],[8,10],[15,18]] Output: [[1,6],[8,10],[15,18]] Explanation: Since intervals [1,3] and [2,6] overlaps, merge them into [1,6].Example 2:
Input: [[1,4],[4,5]] Output: [[1,5]] Explanation: Intervals [1,4] and [4,5] are considered overlapping.解題思路:排序,比較,注意邊界值,比較函數的編寫。比較函數必須是靜態函數。
vector<Interval> merge(vector<Interval>& intervals) {if(intervals.size() <=1) return intervals; vector<Interval> results;sort(intervals.begin(),intervals.end(),compare);int start = intervals[0].start;int end = intervals[0].end;for(int i = 0; i <intervals.size(); i++){if(intervals[i].start <= end){end = max(end,intervals[i].end);}else{Interval temp(start, end);results.push_back(temp);start =intervals[i].start;end= intervals[i].end;}}Interval temp(start, end);results.push_back(temp);return results;}static bool compare(Interval a, Interval b){if(a.start < b.start) return true;else return false;}?
轉載于:https://www.cnblogs.com/nobodywang/p/10337131.html
總結
以上是生活随笔為你收集整理的LeetCode-56-Merge Intervals的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Netty系列(三):说说NioEven
- 下一篇: 意大利罗马银行连环抢劫案告破 一名警察涉