Drill

ProblemsGo › dates

Do these two bookings clash

easydatesIntervalsGo

A meeting room calendar refuses a booking that runs into another one. Times are minutes since midnight.

intervalsOverlap(aStart: int, aEnd: int, bStart: int, bEnd: int) → bool

Go needs a compiler and Drill does not host one yet, so this page is the reference rather than an exercise: the problem, worked examples, and the solution in full. To type it out, the same problem runs in Python.

Solve it in Python →

Where you start

func intervalsOverlap(aStart int, aEnd int, bStart int, bEnd int) bool {
	
}

Worked examples

CallResult
intervalsOverlap(60, 120, 110, 180)true
intervalsOverlap(60, 120, 120, 180)false
intervalsOverlap(60, 120, 0, 30)false
intervalsOverlap(60, 120, 70, 80)true

Hint

Two intervals overlap when each one starts before the other ends. Deal with the empty case first.

Reference solution in Go
func intervalsOverlap(aStart int, aEnd int, bStart int, bEnd int) bool {
	if aEnd <= aStart || bEnd <= bStart {
		return false
	}
	return aStart < bEnd && bStart < aEnd
}

The same problem in another language

More dates problems in Go