Skip to content

Commit 6d258ca

Browse files
authored
[Sort] Refactor solution to Meeting Rooms II
1 parent 587bcfb commit 6d258ca

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

Sort/MeetingRoomsII.swift

+14-12
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,23 @@
1515
*/
1616

1717
class MeetingRoomsII {
18-
func minMeetingRooms(_ intervals: [Interval]) -> Int {
19-
let starts = intervals.map { interval in interval.start }.sorted()
20-
let ends = intervals.map { interval in interval.end }.sorted()
21-
var i = 0, j = 0, count = 0
18+
func minMeetingRooms(_ intervals: [[Int]]) -> Int {
19+
let startingTimes = intervals.map { interval in interval[0] }.sorted()
20+
let endingTimes = intervals.map { interval in interval[1] }.sorted()
21+
let intervalsCount = intervals.count
2222

23-
while i < starts.count && j < ends.count {
24-
if starts[i] < ends[j] {
25-
count += 1
26-
i += 1
23+
var i = 0, j = 0, meetingRoomsNum = 0
24+
25+
while i < intervalsCount && j < intervalsCount {
26+
if startingTimes[i] < endingTimes[j] {
27+
meetingRoomsNum += 1
2728
} else {
28-
i += 1
2929
j += 1
3030
}
31-
}
31+
32+
i += 1
33+
}
3234

33-
return count
35+
return meetingRoomsNum
3436
}
35-
}
37+
}

0 commit comments

Comments
 (0)