-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path253. Meeting Rooms II.js
48 lines (43 loc) · 1.04 KB
/
253. Meeting Rooms II.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/*Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2],...] (si < ei),
find the minimum number of conference rooms required.
For example,
Given [[0, 30],[5, 10],[15, 20]],
return 2.
Hide Company Tags Google Facebook
Hide Tags Heap Greedy Sort
Hide Similar Problems (H) Merge Intervals (E) Meeting Rooms
*/
/**
* Definition for an interval.
* function Interval(start, end) {
* this.start = start;
* this.end = end;
* }
*/
/**
* @param {Interval[]} intervals
* @return {number}
*/
var minMeetingRooms = function(intervals) {
let len = intervals.length,
starts = new Array(len),
ends = new Array(len)
for (let i = 0; i < len; i++) {
starts[i] = intervals[i].start
ends[i] = intervals[i].end
}
starts.sort((a, b) => a - b)
ends.sort((a,b) => a- b)
let res = 0, end = 0
for (let i = 0; i < len; i++) {
if (starts[i] < ends[end]) res++
else end++
}
return res
}
var data = [
{start: 9, end: 12},
{start: 2, end: 7},
{start: 5, end: 17},
{start: 12, end: 17},
]