Codewars中止:进程终止。完成时间超过12000毫秒

时间:2017-08-09 21:36:08

标签: python algorithm python-2.7 python-3.x

我正在测试我的代码“查找唯一编号”,我遇到了

  

STDERR:

     

流程已终止。完成时间超过12000毫秒

     

SIGKILL进程过早退出SIGKILL信号。服务器   执行错误:

     

服务器超时等待代码完成执行。它是   可能是因为服务器负载过高。它也可能是造成的   通过无效的代码。请再次尝试您的请求。

这通常发生在我的代码中。这与代码质量有关,还是服务器问题?我希望它能引用我的代码。

def depth(s):
    count = 0
    max = 0
    for character in s:
        if character == "(":
            count += 1
            if count > max:
                max = count
        elif character == ")":
            count -= 1
    return max

1 个答案:

答案 0 :(得分:0)

对于非常大的集合,这是低效的,因为您多次检查冗余集合元素。例如,在您的第一个测试集中,您将检查 1 五次。试试这个修改:

find_uniq = lambda a: [x for x in set(a) if a.count(x) == 1].pop()

如果你想节省几微秒,只需抓住第一个元素而不是 pop ping:

find_uniq = lambda a: [x for x in set(a) if a.count(x) == 1] [0]