贪⼼算法——间隔任务规划——python 间隔任务规划
问题描述wish的用法
• 输⼊为 n 个报告集 R=[r1, …… , rn],以及每⼀个报告的开始不结束时间 ri=[ai, bi]
• 输出:最多的相容报告集
• 两个报告相容:即两报告的发⽣时间⾥⾯没有重合
贪⼼策略
每次选择结束时间最早的报告
def get_max_intervalschedule(joblist):
job_schedule = []
num_job = len(joblist)
誉的组词
joblist.sort(key = lambda x: x[2]) #按照结束时间进⾏排序
for n in range(num_job):
if not len(job_schedule):
柴胡疏肝丸的功效
job_schedule.append(joblist[n])
el:
#job(n)是否与job_schedule中的jobs相容
if job_schedule[-1][2] <= joblist[n][1]:
93年属鸡#如果job_schedule中最后⼀个任务的结束时间⼩于joblist的开始时间
job_schedule.append(joblist[n])
return job_schedule
关于消防安全的知识if__name__ == "__main__":
joblist = [["e", 8, 10], ["b", 2, 5],
读书心得作文["c", 4, 7],["a", 1, 3],
手工雨伞制作
["d", 6, 9]
君子兰图片大全]
print(get_max_intervalschedule(joblist
输出结果
[['a', 1, 3], ['c', 4, 7], ['e', 8, 10]]
贪⼼算法需要证明结果是否正确