在选取数据的过程中, 会进行看不用时间的并集,像不同的料欠料时间不一样,怎么算出所需要的料时长到底是多少呢?
def merge(intervals):
"""
:type intervals: List[Interval]
:rtype: List[Interval]
"""
intervals_sorted = sorted(intervals, key=lambda x : x[0])
result = []
for interval in intervals_sorted:
# result中最后一个区间的右值>=新区间的左值,说明两个区间有重叠
if result and result[-1][1] >= interval[0]:
# 将result中最后一个区间更新为合并之后的新区间
result[-1][1] = max(result[-1][1], interval[1])
else:
result.append(interval)
return result
if '__main__' == __name__:
intervals = [[1,4],[5,6],[2,10]]
print(merge(intervals))
time2=[['2019-11-18 09:53:10', '2019-12-11 13:57:55'], ['2019-12-10 09:54:35', '2019-12-21 13:57:55'], ['2019-12-23 09