LeetCode 56. Merge Intervals
来源:互联网 发布:php简历管理系统 编辑:程序博客网 时间:2024/06/07 22:54
题意
给出
思路
使用贪心的思想,按照起始点和结束点进行排序,然后遍历记录当前块的起始点和结束点,如果遍历点不在当前块内,存储当前块,然后重新分块,更新当前块.
代码
/** * Definition for an interval. * struct Interval { * int start; * int end; * Interval() : start(0), end(0) {} * Interval(int s, int e) : start(s), end(e) {} * }; */class Solution {public: vector<Interval> merge(vector<Interval>& intervals) { vector<Interval>ans; size_t len = intervals.size(); if(len == 0) return ans; sort(intervals.begin(), intervals.end(), cmp); int L = intervals[0].start, R = intervals[0].end; for(int i = 1; i < len; i++){ if(intervals[i].start <= R){ R = max(R, intervals[i].end); } else{ ans.push_back(Interval(L, R)); L = intervals[i].start; R = intervals[i].end; } } ans.push_back(Interval(L, R)); return ans; }private: static bool cmp(Interval A, Interval B){ if(A.start == B.start){ return A.end < B.end; } return A.start < B.start; }};
阅读全文
0 0
- [LeetCode]56.Merge Intervals
- 56. Merge Intervals Leetcode
- LeetCode --- 56. Merge Intervals
- LeetCode 56.Merge Intervals
- [Leetcode] 56. Merge Intervals
- [leetcode] 56.Merge Intervals
- 【leetcode】56. Merge Intervals
- [leetcode] 56.Merge Intervals
- **LeetCode 56. Merge Intervals
- LeetCode 56. Merge Intervals
- leetcode 56. Merge Intervals
- 【LeetCode】56. Merge Intervals
- LeetCode 56. Merge Intervals
- 【leetcode】56. Merge Intervals
- leetcode 56. Merge Intervals
- leetcode.56. Merge Intervals
- [LeetCode] 56. Merge Intervals
- leetcode 56. Merge Intervals
- leetcode-第十六周
- 用一维数组存储学号和成绩,然后,按成绩排序输出
- ping成功情况下无法访问到网页
- Oracle 11g Windows新建用户、表空间、授权
- 动态导出excel中的列和行
- LeetCode 56. Merge Intervals
- 终于搞定了mfc声明全局变量
- [自学笔记]Tom Mitchell《机器学习》
- lombok简单使用
- 函数声明,函数表达式,块级作用域小结
- itk中的特征提取算法(三)
- mybatis-generator用法
- JSP数据交互
- ES6--Class、Module及常用特性