跳转至

252.会议室 (Easy)*

题目描述*

思路 & 代码*

一个人参加所有会议,时间不冲突就行了。一种是排序后比较相邻的,再就是可以把会议映射到时间轴上,看同一时间是否有多个会议。

class Solution {
public:
    bool canAttendMeetings(vector<vector<int>>& inter) {
        int n = inter.size();
        sort(inter.begin(), inter.end(), [&](const vector<int>& a, const vector<int>& b) -> int {
            return (a[0] == b[0] ? a[1] < b[1] : a[0] < b[0]);
        });
        for(int i = 0; i < n - 1; i++) {
            if(inter[i][1] > inter[i + 1][0]) {
                return false;
            }
        }
        return true;
    }
};
class Solution {
public:
    bool canAttendMeetings(vector<vector<int>>& inters) {
        map<int, int> times;
        for(auto inter : inters) {
            times[inter[0]]++;
            times[inter[1]]--;
        }
        int cur = 0;
        for(auto t : times) {
            cur += t.second;
            if(cur > 1) {
                return false;
            }
        }
        return true;
    }
};

最后更新: July 23, 2022