博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
435. Non-overlapping Intervals
阅读量:6245 次
发布时间:2019-06-22

本文共 1229 字,大约阅读时间需要 4 分钟。

https://leetcode.com/problems/non-overlapping-intervals/description/

Greedy. Sort by (start,-end). Scan from left to right, if we see 2 intervals overlap, we should remove the interval with larger end value.

/** * 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
& intervals) { if (intervals.size() <= 1) return 0; auto comp = [](const Interval& i1, const Interval& i2) { return i1.start < i2.start || i1.start == i2.start && i1.end > i2.end; }; sort(intervals.begin(), intervals.end(), comp); int res = 0; auto cur = intervals[0]; for (int i = 1; i < intervals.size(); i++) { if (cur.end > intervals[i].start) { res++; if (cur.end > intervals[i].end) { // delete cur cur = intervals[i]; } } else { // no overlap cur = intervals[i]; } } return res; }};

 

转载于:https://www.cnblogs.com/JTechRoad/p/8990627.html

你可能感兴趣的文章
SQL查询语句
查看>>
Java线程:新特征-锁(上)
查看>>
脉宽 谱宽关系,增益系数
查看>>
new在c#方法中的使用
查看>>
User already has more than 'max_user_connections' active connections
查看>>
kafka简介
查看>>
关于java的double类型和float类型
查看>>
Linux的五个查找命令
查看>>
将Vuforia程序发布到Windows10系统的基本流程
查看>>
Linq学习<四> linq to XML
查看>>
Python 迭代器和生成器(转)
查看>>
Ansible 操作windows
查看>>
代码整洁之道——7、并发
查看>>
解决java.lang.NoClassDefFoundError错误
查看>>
core文件的生成
查看>>
Python--day48--ORM框架SQLAlchemy
查看>>
图形报表部署在Linux下出现乱码解决办法
查看>>
(转)求模和求余
查看>>
异常解决com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
查看>>
DateTable导出添加时间段
查看>>