Skip to content

Commit 97b5dac

Browse files
authored
Problem Difficulty Level: Medium
1 parent af04c94 commit 97b5dac

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed
+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/*---------------------------
2+
Time Complexity: O(nlogn)
3+
Space Complexity: O(1)
4+
-----------------------------*/
5+
6+
func countDays(days int, meetings [][]int) int {
7+
sort.Slice(meetings, func(i, j int) bool {
8+
if meetings[i][0] == meetings[j][0] {
9+
return meetings[i][1] < meetings[j][1];
10+
}
11+
return meetings[i][0] < meetings[j][0];
12+
})
13+
14+
// fmt.Println(meetings);
15+
lastEndTime, numFreeDays := meetings[0][1], (meetings[0][0] - 1);
16+
for i := 1; i < len(meetings); i++ {
17+
if meetings[i][0] > lastEndTime {
18+
numFreeDays += (meetings[i][0] - lastEndTime - 1);
19+
}
20+
lastEndTime = max(lastEndTime, meetings[i][1]);
21+
}
22+
numFreeDays += (days - lastEndTime);
23+
return numFreeDays;
24+
}
25+
26+
/*
27+
Question Link: https://leetcode.com/problems/count-days-without-meetings/
28+
Author: M.R.Naganathan
29+
*/

0 commit comments

Comments
 (0)