Minimize batches and allocate riders by time | DoorDash Coding Question