Drill

ProblemsTypeScript › dates

Do these two bookings clash

easydatesTypeScript

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

Solve it in the editor →

Where you start

function intervalsOverlap(aStart: number, aEnd: number, bStart: number, bEnd: number): boolean {
  
}

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 TypeScript
function intervalsOverlap(aStart: number, aEnd: number, bStart: number, bEnd: number): boolean {
  if (aEnd <= aStart || bEnd <= bStart) return false;
  return aStart < bEnd && bStart < aEnd;
}

The same problem in another language

More dates problems in TypeScript