Updated by Camilo Rocha 2017-03-28 View revision File act_sch.py Modified Side-by-side diff More Ignore whitespace Hide word diff def act_sch(a): # Pre: a[0..N) is a list of activities (s,f), where s denotes the - # start time of a and f its finish time (s<=f) + # start time of an activity and f its finishing time (s<=f) # Post: maximum number of compatible activities in a[0..N) a.sort(key=lambda x : x[1]) # sort activities by earliest finish time ans,n,N = 0,0,len(a)
Updated by Camilo Rocha 2017-03-28 View revision File act_sch.py Modified Side-by-side diff More Ignore whitespace Hide word diff def act_sch(a): - # Pre: a[0..N) is a list of activities a=(s,f), where s denotes the + # Pre: a[0..N) is a list of activities (s,f), where s denotes the # start time of a and f its finish time (s<=f) # Post: maximum number of compatible activities in a[0..N) a.sort(key=lambda x : x[1]) # sort activities by earliest finish time
Created by Former user 2016-04-12 View revision File act_sch.py Added Side-by-side diff More Ignore whitespace Hide word diff +def act_sch(a): + # Pre: a[0..N) is a list of activities a=(s,f), where s denotes the + # start time of a and f its finish time (s<=f) + # Post: maximum number of compatible activities in a[0..N) + a.sort(key=lambda x : x[1]) # sort activities by earliest finish time + ans,n,N = 0,0,len(a) + while n!=N: + best,n,ans = n,n+1,ans+1 + while n!=N and a[n][0]<a[best][1]: + n += 1 + return ans