当前位置: 编程技术>python
python不带重复的全排列代码
来源: 互联网 发布时间:2014-09-04
本文导语: 代码如下:from sys import argvscript, start, end = argvvis = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]ans = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]def dfs(cur, m): ans[cur] = m if cur == int(end) - int(start) + 1: for i in xrange(int(start), int(end) + 1): print ans[i], ...
代码如下:
from sys import argv
script, start, end = argv
vis = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
ans = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
def dfs(cur, m):
ans[cur] = m
if cur == int(end) - int(start) + 1:
for i in xrange(int(start), int(end) + 1):
print ans[i],
return
cur = cur + 1
for i in xrange(int(start), int(end) + 1):
if vis[i] == False:
vis[i] = True
dfs(cur, i)
vis[i] = False
for i in xrange(1, len(vis)):
vis[i] = False
dfs(0, start)