一位活动主持人在同一时间只能参与一个活动。并且活动主持人需要全程参与活动,换句话说,一个主持人参与了第 i 个活动,那么该主持人在 (starti,endi) 这个时间段不能参与其他任何活动。求为了成功举办这 n 个活动,最少需要多少名主持人。
数据范围: ,
复杂度要求:时间复杂度 ,空间复杂度
2,[[1,2],[2,3]]
1
只需要一个主持人就能成功举办这两个活动
2,[[1,3],[2,4]]
2
需要两个主持人才能成功举办这两个活动
在int范围内
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # 计算成功举办活动需要多少名主持人 # @param n int整型 有n个活动 # @param startEnd int整型二维数组 startEnd[i][0]用于表示第i个活动的开始时间,startEnd[i][1]表示第i个活动的结束时间 # @return int整型 # class Solution: def minmumNumberOfHost(self , n , startEnd ): # write code here if not n: return 0 start_time = [] end_time = [] for i in startEnd: start_time.append(i[0]) end_time.append(i[1]) start_time.sort() end_time.sort() res = 0 for i in range(n): if start_time[i] < end_time[0]: res += 1 else: end_time.pop(0) return res