Verified interview challenge
Data labelling task scheduler
Assign labelling work across people and models while keeping the workload balanced as the schedule runs.
Unlock with Full AccessThe challenge
A labelling job needs a sequence of task, model and human assignments. Each person must receive enough distinct tasks, and the assignments for each task must stay balanced throughout the sequence. Construct a schedule that satisfies those requirements using the minimum number of assignments.
- The order matters
- A balanced final total is not enough. The schedule is checked after each assignment.
What you'll practise
Constructing a valid schedule
Turn the assignment rules into a sequence that meets every person's workload requirement.
Maintaining balance
Track how work is distributed across models and people at each stage.
Boundary cases
Handle empty inputs and combinations that cannot meet the requested workload.
def build_balanced_schedule(
task_count, model_count, human_count, minimum_tasks_per_human
):
# Your implementation goes here
passRun your code to see results.