腾讯笔试第一题,模拟队列,感觉没问题啊!就是死活过不了。
下面是代码,求大佬解答:
class Solution:
def __init__(self):
self.arr = []
def fun1(self):
# arr = []
# res = []
T = int(input().strip())
if T < 1&nbs***bsp;T > 100:
return 0
for i in range(T):
Q = int(input().strip())
if Q < 1&nbs***bsp;Q > 1000:
return 0
for _ in range(Q):
input1 = input().strip().split()
e0 = input1[0]
# e1 = input1[1]
if e0 == "PUSH":
e1 = int(input1[1])
if e1 < 1&nbs***bsp;e1 > 1000:
return 0
self.pushQ(int(input1[1]))
elif e0 == "TOP":
v = self.topQ()
if v == -1:
print(str(v))
print(v)
# res.append(v)
elif e0 == "POP":
v = self.popQ()
if v == -1:
print(str(v))
# res.append(v)
elif e0 == "SIZE":
size = self.sizeQ()
print(size)
# res.append(size)
elif e0 == "CLEAR":
self.clearQ()
else:
print(0)
def pushQ(self, v):
self.arr.append(v)
def topQ(self):
if not self.arr:
return -1
return self.arr[0]
def popQ(self):
if not self.arr:
return -1
else:
return self.arr.pop(0)
def sizeQ(self):
return len(self.arr)
def clearQ(self):
self.arr.clear()
if __name__ == '__main__':
Solution().fun1()
基本上找到原因了,感谢楼下兄弟给的建议;
查找了往年的帖子: 如果测试数据是多组的,但是恰巧你代码里面需要些标记数组,map,set等,在循环内一定记得清空,不然可能会产生前面的测试样例影响了后续数据的答案。
#腾讯笔试##腾讯##笔试题目#