signed

QiShunwang

“诚信为本、客户至上”

python不带重复的全排列代码

2021/6/3 17:29:13   来源:
复制代码 代码如下:

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],
  print
  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) 
您可能感兴趣的文章:
  • python3实现字符串的全排列的方法(无重复字符)
  • python使用递归解决全排列数字示例
  • python常规方法实现数组的全排列
  • python回溯法实现数组全排列输出实例分析
  • python非递归全排列实现方法
  • python递归全排列实现方法
  • Python实现全排列的打印
  • Python基于回溯法子集树模板解决全排列问题示例
  • Python字符串的全排列算法实例详解