Greedy Algorithms8 sections · 316 units
Open in Course

Minimum Waiting - Algorithm

Simple implementation

This algorithm is simple:

function minimumWaitingTime(times)
 sort times in ascending order
 totalWaiting := 0
 cumulativeTime := 0
 for i from 0 to length of times - 1
 totalWaiting := totalWaiting + cumulativeTime
 cumulativeTime := cumulativeTime + times[i]
 return totalWaiting

Time: O(nlogn)O(n \log n) for sorting. Space: O(1)O(1) extra.