"简单"中的超时错误码

时间:2017-04-21 16:46:25

标签: python python-3.x time-complexity big-o

我有以下声明:

有两种类型的命令:

store email_content urgency,其中email_content是由[a-zA-Z0-9_]和urgency组成的字符串,是一个正整数< / p>

get_next_email - 请求最紧急的email_content作为回复。如果有1个以上具有相同紧急程度的电子邮件,请输出先存储的电子邮件。如果没有未完成的电子邮件打印&#34; -1&#34;换行符上的字符串。

输入示例:

4
store email1 1
store email2 10
store email3 10
get_next_email

输出:

email2

我的代码:

emails = {}
urgencies = set()
for _ in range(int(input())):
  info = input().strip().split(" ")

  if info[0] == "store":
    info[2] = int(info[2])
    urgencies.add(info[2])
    if info[2] in emails:
        emails[info[2]].append(info[1])
    else:
        emails[info[2]] = [info[1]]

  elif info[0] == "get_next_email":
    if emails:
      maxval = max(urgencies)
      print(emails[maxval].pop(0))
      if emails[maxval] == []:
        emails.pop(maxval, None)
        urgencies.remove(maxval)
    else:
      print("-1")

我遇到了一个运行时错误,根据我所读到的内容,这是因为复杂性非常大,而且我认为我的代码 复杂。我究竟做错了什么?我该怎么做才能改善这一点?谢谢!

编辑:这是一场比赛,确切的错误是:由于超时(10s)终止

0 个答案:

没有答案