【发布时间】:2016-10-20 01:15:00
【问题描述】:
def max_logged_in(interval_lst,T):
startArr, endArr = zip(*interval_lst)
i = 0
j = 0
maxOverlap = 0
currentOverlap = 0
while (i<T and j<T):
if (startArr[i] < endArr[j]):
currentOverlap = currentOverlap + 1
maxOverlap = max(maxOverlap, currentOverlap)
i = i + 1
else:
currentOverlap = currentOverlap - 1
j = j + 1
代码应该遍历两个数组并找到最大重叠给出一个列表,例如[(5,15), (18,25), (3,12), (4, 11), (1,15), (18,19)] 在给定时间(T)。
运行此代码给了我一个元组索引错误。我似乎无法弄清楚为什么它给了我一个索引错误。
【问题讨论】:
-
如果
T> 5,那么你的if会导致你得到的错误。 -
您能详细说明一下吗?我很难理解为什么。
-
T的值是多少? -
可以是任意随机数。在这种情况下,它是 30。