URL: https://leetcode.com/problems/count-days-without-meetings/ Signed-off-by: Matej Focko <me@mfocko.xyz>
27 lines
494 B
Go
27 lines
494 B
Go
package main
|
|
|
|
import (
|
|
"cmp"
|
|
"slices"
|
|
)
|
|
|
|
func countDays(days int, meetings [][]int) int {
|
|
compareMeetings := func(a, b []int) int {
|
|
return cmp.Or(cmp.Compare(a[0], b[0]), cmp.Compare(a[1], b[1]))
|
|
}
|
|
slices.SortFunc(meetings, compareMeetings)
|
|
|
|
free, latestEnd := 0, 0
|
|
for _, meeting := range meetings {
|
|
start, end := meeting[0], meeting[1]
|
|
|
|
if start > latestEnd+1 {
|
|
free += start - latestEnd - 1
|
|
}
|
|
|
|
latestEnd = max(latestEnd, end)
|
|
}
|
|
free += days - latestEnd
|
|
|
|
return free
|
|
}
|