我试图解决hackerrank的一个问题,当我提交我的解决方案时,我得到一个错误,说明“由于超时而终止”。
请检查代码,并建议我如何优化。
语句:您有一个空序列,将向您提供查询。每个查询都是以下三种类型之一:
1 x-将元素x推入堆栈。2-删除堆栈顶部的元素。3-打印堆栈中的最大元素。
输入格式
输入的第一行包含一个整数。接下来的每一行都包含上述查询。(保证每个查询都是有效的。)
输出格式
对于每个类型查询,在新行上打印堆栈中的最大元素。
样本输入
10 1 97 2 1 20 2 1 26 1 20 2 3 1 91 3
样本输出
26 91
我的代码:
n = int(input())
stack = []
for i in range(n):
l = list(map(int,input().split(" ")))
if l[0] == 1:
stack.append(l[1])
elif l[0] == 2:
stack.pop()
elif l[0] == 3:
print(max(stack))
这是正确的输入和预期的输出。
"""
proper input format for you problem
10
1 97
2
1 20
2
1 26
1 20
2
3
1 91
3
"""
n = int(raw_input())
stack = []
while n > 0:
# read the option here it may be of form 1 x or 2 or 3
option = map(int,raw_input().split())
# if it has two elements that means it was of form 1 x,
# so, push the second element on stack (stack[1])
if len(option) > 1:
stack.append(option[1] )
else:
# if option is 2 there will only be one element
# in option ( which is option[0]
# so, remove from top of stack
if option[0] == 2:
del stack[-1]
else:
print max(stack)
n = n-1
如果我看对了,你可以指定计数器,但我从不使用它。如果您的第一个输入不是明显不是的命令之一,那么这将不会产生任何输出或任何东西。
n = int(input())
stack = []
for i in range(n):
l = list(map(int,input().split(" ")))
if l[i] == 1:
stack.append(l[i+1])
elif l[i] == 2:
stack.pop()
elif l[i] == 3:
print(max(stack))
关于这个话题有很多讨论。我看了一遍,但没有一个有用。 问题似乎相当简单: 如果我们列出10以下的所有自然数,它们是3或5的倍数,我们得到3、5、6和9。这些倍数之和是23。 求N以下3或5的所有倍数之和。 输入格式第一行包含表示测试用例数量的T。接下来是T行,每一行包含一个整数N。 输出格式对于每个测试用例,打印一个整数,表示N以下3或5的所有倍数之和。 约束1≤T≤10^5 1≤N≤10^9 然
我正在尝试解决一个来自HackerRank的问题,当我提交我的解决方案时,我得到一个错误,说明“由于超时而终止”。 问题:对n个大小的数组的左旋转操作将数组的每个元素向左移动1个单位。例如,如果对数组[1,2,3,4,5]执行两次左旋转,那么该数组将变为[3,4,5,1,2]。 给定一个由n个整数和一个数字d组成的数组,对该数组执行d个左旋转。然后将更新后的数组打印为单行以空格分隔的整数。 输入格
我在google cloud中创建了一个google cloud函数,它将连接到我在google cloud中创建的postgresql实例。 我正在使用'pg'节点模块。 我已经为此创建了一个私有IP。 我收到以下错误: 错误:由于在timeout.ConnectionTimeouthAndle.SetTimeout(/workspace/node_modules/pg/lib/client.j
这段代码在Hackerrank上的一些大输入上显示“Terminated due to timeout”(因超时而终止)错误,但在其余情况下仍能正常工作。请帮助我改进此代码。 约翰·沃森在整数数组上执行一个称为右圆旋转的操作。执行一次右圆旋转操作后,数组将从 转换为 。 Watson多次执行此操作。为了测试Sherlock识别旋转数组中特定位置的当前元素的能力,Watson请求查询,其中每个查询由
大家好,请检查问题黑客排名问题陈述 这是我对上述问题的解决方案(链接) 当数组大小较大时,我的代码无法处理,例如数组中的17623个元素。 由于超时而终止 问题出在第二个for循环中,该循环遍历数组并给出数组中最大数字的索引。还有其他方法可以提高性能吗。
从C#客户机,我的驱动变量在2秒后返回“Selenium Grid会话终止,因为SO#U超时”。我正在寻找一种方法来增加SE Grid server的超时时间,因为看起来我需要增加Selenium节点的超时时间。 感谢您帮助解决此问题。