Arrays 在3d阵列中高效操作列表的最佳方法?
在一个3d数组中,给我n个列表。这些列表代表时间。例如,其中一个列表可能是(1,4),这意味着1:00、2:00、3:00、4:00的“忙”。那么,对于3d数组中的所有n个列表,将(1,4)转换为(1,2,3,4)的有效方法是什么呢。请记住,n可能高达10000。我可能是个白痴,但谢谢你的帮助Arrays 在3d阵列中高效操作列表的最佳方法?,arrays,python-3.x,Arrays,Python 3.x,在一个3d数组中,给我n个列表。这些列表代表时间。例如,其中一个列表可能是(1,4),这意味着1:00、2:00、3:00、4:00的“忙”。那么,对于3d数组中的所有n个列表,将(1,4)转换为(1,2,3,4)的有效方法是什么呢。请记住,n可能高达10000。我可能是个白痴,但谢谢你的帮助 ///requests is the array being given. eg [(1,4),(2,9),(4,5)] numberOfRequests=len(requests) mostTaxi=
///requests is the array being given. eg [(1,4),(2,9),(4,5)]
numberOfRequests=len(requests)
mostTaxi=1
talArray=[]
//Very ineffiecient way of solving current problem
for x in range(0,numberOfRequests):
for y in range((requests[x][0]),(requests[x][1])+1):
talArray.append(y)
//
busiestTime=max(set(talArray), key = talArray.count)
mostTaxi=talArray.count(busiestTime)
return mostTaxi
''如果元组表示任务的
(开始,结束)
时间,那么您只需从每个元组中获取end-start
(它将表示花费的小时数)并获取最大值即可
times = [
[(1,4),(2,9),(4,5)],
[(1,4),(1,20),(4,11)]
]
def calculate_time(t):
start, end = t
return end - start
longest = max((max(map(calculate_time, each)) for each in times))
print("The longest task took", longest , "hours")