【发布时间】:2014-11-09 11:21:33
【问题描述】:
我想要的是生成字符串的所有可能排列,然后检查是否有任何排列是回文,如果是,那么我只是跳出循环并分配发现是真的,但我的问题是面临的是代码不断给出超时错误!现在因为我是 Python 新手,所以我对生成器和迭代器有一个基本的了解,我希望有人指出我可以如何有效地使用生成器来解决这个超时问题。
from itertools import permutations
string = raw_input()
for perm in permutations(string):
if perm == perm[::-1]:
found=True
break
if found==True:
print("YES")
else:
print("NO")
【问题讨论】:
-
一个“超时错误”是什么?
string有多大(并且 它有任何回文排列)?为什么不在break之前只使用if found:或print并使用for: else:构造?
标签: python iterator timeout generator