给定一系列描述函数进入和退出的时间,问每个函数的运行时间是多少。
问题示例输入s=[“F1 Enter 10”,“F2 Enter 18”,“F2 Exit 19”,“F1 Exit 20”],则输出[“F1|10”,F2|1],即F1从10时刻进入,20时刻退出,
运行时长为10,F2从18时刻进入19时刻退出,运行时长为1
输入s=[“F1 Enter 10”,“F1 Exit 19”,“F1 Enter 18”,“F1 Exit 20”],则输出10
#代码演示
class Two:
def __init__(self):
self.l = []
self.enter_list = []
self.exit_list = []
self.d = {}
def two(self,s):
for i in s:
self.l.append(i[0:2])
se = set(self.l)
se = list(se)
se.sort()
if len(se)>1:
for i in se:
su = []
for j in s:
if j[0:2] == i:
su.append(j[-2::])
self.d[i] = int(su[1])-int(su[0])
return self.d
else:
rult = 0
for i in s:
if "Enter" in i:
self.enter_list.append(int(i[-2::]))
else:
self.exit_list.append(int(i[-2::]))
for i in range(len(self.enter_list)):
rult1 = self.exit_list[i]-self.enter_list[i]
rult += rult1
return rult
s=["F1 Enter 10","F2 Enter 18","F2 Exit 19","F1 Exit 20"]
solution = Two()
print(solution.two(s))



