252. Meeting Rooms - cocoder39/coco39_LC GitHub Wiki

252. Meeting Rooms

class Solution:
    def canAttendMeetings(self, intervals: List[List[int]]) -> bool:
        intervals.sort()

        for i in range(1, len(intervals)):
            if intervals[i][0] < intervals[i-1][1]:
                return False

        return True

Comparator is a static member method because the comparison is not between object and object but within the whole intervals vector.

static bool cmp(Interval& interval1, Interval& interval2) {
        return interval1.start < interval2.start;
    }

T = O(N * log N) and S = O(1)

class Solution {
public:
    bool canAttendMeetings(vector<Interval>& intervals) {
        sort(intervals.begin(), intervals.end(), cmp);
        for (int i = 1; i < intervals.size(); i++) {
            if (intervals[i].start < intervals[i - 1].end)
                return false;
        }
        return true;
    }
private:
    static bool cmp(Interval& interval1, Interval& interval2) {
        return interval1.start < interval2.start;
    }
};
bool canAttendMeetings(vector<Interval>& intervals) {
        sort(intervals.begin(), intervals.end(), [](Interval i1, Interval i2) {
            return i1.start <= i2.start;
        });
        
        for (int i = 1; i < intervals.size(); i++) {
            if (intervals[i].start < intervals[i - 1].end) {
                return false;
            }
        }
        return true;
    }
⚠️ **GitHub.com Fallback** ⚠️