我正在处理编码问题。
https://www.acmicpc.net/problem/1406
我为此写了一个解决方案,
front = []
back = []
word = input()
count = int(input())
for a in word:
front.append(a)
for i in range(count):
command = input().split()
if command[0] == "P":
front.append(command[1])
elif command[0] == "L":
if front:
back.append(front.pop())
elif command[0] == "D":
if back:
front.append(back.pop())
else:
if front:
front.pop()
while (back):
front.append(back.pop())
print(''.join(map(str, front)))
但是,当我提交时,我一直收到TimeOut错误。 如何更改某些东西以便在Python中更快地运行此代码?或者这是语言的固有问题?
答案 0 :(得分:2)
让我们假设您有一百万个字符和两百万个命令。
back
并将其附加到front
我打赌所有3个案例都经过测试。
您可以尝试使用deque https://docs.python.org/2/library/collections.html#collections.deque
来加快效果但我建议不要使用列表。只需操作word
并记住索引,即可立即使用光标。