Sort intervals by starting time so that s1 ≤ s2 ≤ ... ≤ sn. d ←0 for j = 1 to n { if (lecture j is compatible with some classroom k) schedule lecture j in classroom k else allocate a new classroom d + 1 schedule lecture j in classroom d + 1 d←d + 1 }