435. Non-overlapping Intervals(贪心)
来源:互联网 发布:linux sort k 编辑:程序博客网 时间:2024/06/07 13:24
https://leetcode.com/problems/non-overlapping-intervals/description/
题目:求最少删除的区间数目,使得区间不重叠。
思路:活动安排问题的变形,求出最多可以保留多少区间,然后用总的区间减去保留数目即可。贪心算法,将所有区间按右边界升序排序,如果当前区间的最左边的值大于等于已保留的最右边区间的值,则保留当前区间。
if(intervals[x].start>=r) sum++,r=intervals[x].end;
sort中使用的是 Lambda函数: (c++11)
[](Interval a,Interval b) { return a.end<b.end ; }
/** * 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: int eraseOverlapIntervals(vector<Interval>& intervals) { int len=intervals.size(); if(len<=1) return 0; sort(intervals.begin(),intervals.end(),[](Interval a,Interval b){ return a.end<b.end;}); int sum=1,r=intervals[0].end; for(int x=1;x<len;x++) if(intervals[x].start>=r) sum++,r=intervals[x].end; return len-sum; }};
阅读全文
0 0
- 435. Non-overlapping Intervals(贪心)
- leetcode 435. Non-overlapping Intervals (贪心)
- 435. Non-overlapping Intervals
- 435. Non-overlapping Intervals
- 435. Non-overlapping Intervals
- 435. Non-overlapping Intervals
- 435. Non-overlapping Intervals
- 435. Non-overlapping Intervals
- 435. Non-overlapping Intervals
- 435. Non-overlapping Intervals
- 435. Non-overlapping Intervals
- 435. Non-overlapping Intervals
- 435. Non-overlapping Intervals
- 435. Non-overlapping Intervals
- 435. Non-overlapping Intervals 类别:贪心算法 难度:medium
- LeetCode 435. Non-overlapping Intervals
- leetcode 435. Non-overlapping Intervals
- [Leetcode] 435. Non-overlapping Intervals
- 外网访问局域网中的web服务器
- Java中对Number型对象进行格式化以及解析字符串成Number型
- SpringMVC注释(个人学习版)
- Leetcode之Longest Consecutive Sequence 问题
- UltraEdit 激活方法
- 435. Non-overlapping Intervals(贪心)
- oracle中to_number字符串转数字、max取最大值、dbms_random.value生成随机数及对小数做截取,四舍五入操作的函数
- 343. Integer Break
- MongoDB-创建索引
- java 继承的隐藏与覆盖典例
- 一些C文件函数fseek(),ftell(),rewind()
- 如何删除win7自带的微软拼音输入法
- Linux : 添加交换空间
- 编译时,出现缺少 curl 问题的解决