Drill

ProblemsJava › scheduling

How many people try to book the same slot

mediumschedulingIntervalsSortingJava

Requests come in as start/end minutes. Count how many requests are fully contained inside another request — a same-slot double booking.

shiftConflicts(slots: list<Slot>) → int

Java 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

int shiftConflicts(List<Slot> slots) {
    
}

Worked examples

CallResult
shiftConflicts(Main.<Slot>ls(new Slot(0, 100), new Slot(10, 90), new Slot(0, 100)))3
shiftConflicts(Main.<Slot>ls(new Slot(0, 100), new Slot(100, 200)))0
shiftConflicts(Main.<Slot>ls())0
shiftConflicts(Main.<Slot>ls(new Slot(5, 5), new Slot(0, 10)))1

Hint

For each request scan all the others for one strictly broader window.

Reference solution in Java
int shiftConflicts(List<Slot> slots) {
    int n = 0;
    for (int i = 0; i < slots.size(); i++) {
        Slot a = slots.get(i);
        boolean hit = false;
        for (int j = 0; j < slots.size(); j++) {
            if (i == j) continue;
            Slot b = slots.get(j);
            if (b.start <= a.start && b.end >= a.end) { hit = true; break; }
        }
        if (hit) n++;
    }
    return n;
}

The same problem in another language

More scheduling problems in Java