252. Meeting Rooms
做题历程:
- 本题做过不止2次,耗时大概15分钟,独立解出
本题难度并不高,只需要自己写一个Comparator,然后用这个sort题目给的vector,之后看看前面一个的end是否与后一个的start重合即可。
代码如下:
/**
* 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:
bool canAttendMeetings(vector<Interval>& intervals) {
if (intervals.empty()) {
return true;
}
sort(intervals.begin(), intervals.end(), comp);
for (int i = 0; i < intervals.size() - 1; ++i) {
if (intervals[i].end > intervals[i+1].start) {
return false;
}
}
return true;
}
private:
static bool comp(const Interval& a, const Interval& b) {
if (a.start < b.start) {
return true;
}
else if (a.start == b.start && a.end < b.end) {
return true;
}
else {
return false;
}
}
};