挑最短的会,反而排得少
三场会 [(0,4),(3,5),(4,8)],一边按时长最短挑,一边按结束最早挑。运行下面这段程序:
def sched(iv, key):
end = -1
n = 0
for s, e in sorted(iv, key=key):
if s >= end:
n += 1
end = e
return n
print(str(sched([(0, 4), (3, 5), (4, 8)], lambda t: t[1] - t[0])) + "/" + str(sched([(0, 4), (3, 5), (4, 8)], lambda t: t[1])))
全部评论