252. Meeting Rooms


做题历程:

  1. 本题做过不止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;
        }
    }
};

results matching ""

    No results matching ""