给你一个数组
events
,其中events[i] = [startDayi, endDayi]
,表示会议i
开始于startDayi
,结束于endDayi
。你可以在满足
startDayi <= d <= endDayi
中的任意一天d
参加会议i
。在任意一天d
中只能参加一场会议。请你返回你可以参加的 最大 会议数目。
示例 1:
输入:events = [[1,2],[2,3],[3,4]] 输出:3 解释:你可以参加所有的三个会议。 安排会议的一种方案如上图。 第 1 天参加第一个会议。 第 2 天参加第二个会议。 第 3 天参加第三个会议。示例 2:
输入:events= [[1,2],[2,3],[3,4],[1,2]] 输出:4提示:
1 <= events.length <= 105
events[i].length == 2
1 <= startDayi <= endDayi <= 105
/**
* @param {number[][]} events
* @return {number}
*/
var maxEvents = function(events) {
let set = new Set();
events.sort((a,b) => a[1] - b[1]);
let flag = true;
for(let i = 1; i < events.length;i++){
if(events[i][1] == events[i-1][1]){
flag = false;
break;
}
}
if(flag == true){
return events.length;
}
for(const event of events){
for(let i = event[0];i <= event[1];i++){
if(!set.has(i)){
set.add(i);
break;
}
}
}
return set.size;
};
标签:会议,参加,leetcode1353,startDayi,flag,let,数目,events
From: https://blog.csdn.net/Turboyiyi/article/details/142657481