按照频率将数组升序排序

给你一个数组 events,其中 events[i] = [startDayi, endDayi] ,表示会议 i 开始于 startDayi ,结束于 endDayi 。
你可以在满足 startDayi <= d <= endDayi 中的任意一天 d 参加会议 i 。注意,一天只能参加一个会议
请你返回你可以参加的 最大 会议数目。

  • 输入:events = [[1,2],[2,3],[3,4]]

  • 输出:3

  • 解释:你可以参加所有的三个会议。
    安排会议的一种方案如上图。
    第 1 天参加第一个会议。
    第 2 天参加第二个会议。
    第 3 天参加第三个会议。

  • 输入:events= [[1,2],[2,3],[3,4],[1,2]]

  • 输出:4

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var maxEvents = function(events) {
let count = 0, had = [];

events.sort((a, b) => a[1] - b[1]);

for (let i = 0, len = events.length; i < len; i++) {
let [start, end] = events[i];
for (let j = start; j <= end; j++) {
if (had[j] === undefined) {
had[j] = 1;
count++;
break;
}
}
}

return count;
};