leetcode 435. Non-overlapping Intervals (贪心)
来源:互联网 发布:大数据时代的思维变革 编辑:程序博客网 时间:2024/06/05 23:42
题意:
给你几个区间,删除最少的区间个数,使得这几个区间不重叠。边界可以忽略。
思路:
有重叠的情况下,尽量使得区间分散一些。先把区间按左端点升序,如果相同,按右端点升序。从左端最小的开始放。如果左端点相同,删除右端点较长的区间。否则如果当前左端点比上一个区间的右端点小,删除右端点较长的区间。
代码:
bool cmp(Interval a,Interval b){ if(a.start==b.start) return a.end<b.end; return a.start<b.start;}class Solution {public: int eraseOverlapIntervals(vector<Interval>& intervals) { int n = intervals.size(); if(n<2) return 0; sort(intervals.begin(),intervals.end(),cmp); int s = intervals[0].start,e = intervals[0].end; int ans = 0; for(int i = 1;i<n;i++) { if(intervals[i].start==s) { ans++; } else if(intervals[i].start<e) { if(intervals[i].end>e) ans++; else { s = intervals[i].start; e = intervals[i].end; ans++; } } else { s = intervals[i].start; e = intervals[i].end; } } return ans; }};
阅读全文
1 0
- leetcode 435. Non-overlapping Intervals (贪心)
- LeetCode 435. Non-overlapping Intervals
- leetcode 435. Non-overlapping Intervals
- [Leetcode] 435. Non-overlapping Intervals
- 【LeetCode】 435. Non-overlapping Intervals
- Leetcode 435. Non-overlapping Intervals
- LeetCode 435. Non-overlapping Intervals
- [leetcode]435. Non-overlapping Intervals
- leetcode-435. Non-overlapping Intervals
- [LeetCode]435. Non-overlapping Intervals
- Leetcode 435. Non-overlapping Intervals
- LeetCode 435. Non-overlapping Intervals
- LeetCode 435. Non-overlapping Intervals
- 【LeetCode】435. Non-overlapping Intervals
- LeetCode 435. Non-overlapping Intervals
- LeetCode 435. Non-overlapping Intervals
- LeetCode 435. Non-overlapping Intervals
- leetcode 435. Non-overlapping Intervals
- git 第三章 分支
- Nginx及配置详解
- 分享谷歌浏览器的一个插件-OneTab,非常赞
- 第二节对象在内存中的布局及对象创建过程
- JNI
- leetcode 435. Non-overlapping Intervals (贪心)
- 20170817
- ACM编程中无穷大的设置
- 单例模式
- Autofac 的简单配置
- yii 导入导出excle
- Hybrid Crystals
- QT 删除某个目录下的所有文件
- CAS