问题:给定n个区间,判断是否有重叠。
解法:排序,将区间按x,y大小直接排序,这样保证每个区间后面的那个区间都是最早开始的。因此,如果当前区间结束了,最早的区间比结束时间小,那么就说明发生了重叠。
class Solution {
public:
bool canAttendMeetings(vector<vector<int>>& intervals) {
sort(intervals.begin(), intervals.end());
for(int i=1;i<intervals.size();i++)
{
if(intervals[i][0] < intervals[i-1][1])return false;
}
return true;
}
};