1
.问题描述
给定一系列描述函数进入和退出的时间,问每个函数的运行时间是
多少。
2
.问题示例
输入
s=["F1Enter10"
,
"F2Enter18"
,
"F2Exit19"
,
"F1Exit20"]
,则输
出
["F1|10"
,
"F2|1"]
,即
F1
从
10
时刻进入,
20
时刻退出,运行时长为
10
,
F2
从
18
时刻进入,
19
时刻退出,运行时长为
1
。
输入
s=["F1Enter10"
,
"F1Exit18"
,
"F1Enter19"
,
"F1Exit20"]
,则输
出
["F1|9"]
,即
F1
从
10
时刻进入,
18
时刻退出;又从
19
时刻进入,
20
时
刻退出,总运行时长为
9
。
3
.代码实现
class Solution:
def getRuntime(self,a):
dictionary = {}
for i in a:
count = 0
while not i[count] == " ":
count += 1
Fun = i[0:count]
if i[count + 2] == "n":
count += 7
stime = int(i[count:len(i)])
if Fun in dictionary.keys():
dictionary[Fun] = stime - dictionary[Fun]
else:
dictionary[Fun] = stime
else:
count += 6
stime = int(i[count:len(i)])
if Fun in dictionary.keys():
dictionary[Fun] = stime - dictionary[Fun]
else:
dictionary[Fun] = stime
res = []
for i in dictionary:
res.append(i)
res.sort()
for i in range(0,len(res)):
res[i] = res[i] + '|' + str(dictionary[res[i]])
return res
if __name__ == "__main__":
s = ["F1 Enter 10","F2 Enter 18","F2 Exit 19","F1 Exit 20"]
solution = Solution()
print("输入运行时间:",s)
print("每个输出时间:",solution.getRuntime(s))
4
.运行结果
输入运行时间: ['F1 Enter 10', 'F2 Enter 18', 'F2 Exit 19', 'F1 Exit 20']
每个输出时间: ['F1|10', 'F2|1']