第一个和最后一个排列
生成 [1, 2, 3] 的全部排列。运行下面这段程序:
def perm(a):
res = []
path = []
used = [False] * len(a)
def dfs():
if len(path) == len(a):
res.append(list(path))
return
for i in range(len(a)):
if used[i]:
continue
used[i] = True
path.append(a[i])
dfs()
used[i] = False
path.pop()
dfs()
return res
r = perm([1, 2, 3])
def s(x):
return ",".join(str(v) for v in x)
print(s(r[0]) + "/" + s(r[-1]))
全部评论