用python给数字排序,python随机生成数字并排序

  用python给数字排序,python随机生成数字并排序

  All array指给定一个数组,枚举所有可能的数组组合,N个元素共享N!将种子并排混合。

  比如在[1 , 2 , 3]的情况下,所有数组的结果都是123,132,213,231,312,321,总共3!=6种。

  直观的思路是从数组中依次选择一个元素作为第一个元素,固定好第一个元素后,将剩下的n-1个元素作为整个数组。

  这显然是一个递归的思路,需要决定逃逸条件,但这里是只剩下一个元素的情况,自然会达到顶点。

  根据这个观点,代码如下。

  从_ _ future _ _导入print _ function

  efperm(elem_list,s= ):

  #类型检查

  iftype(elem_list)!=类型([]):

  返回

  #参数合法性检查

  iflen(elem_list )==0:

  返回

  #弹出条件

  iflen(elem_list )==1:

  #打印当前结果

  print(selem_list[0]()())))).

  返回

  选择一个作为#1元素。

  对于I,einenumerate(Elem_list):

  #递归调用自身,同时传递当前前缀字符串

  perm(elem _ list[:I]elem _ list[I 1:],s e))

  测试案例数量

  烫发([1 , 2 , 3]

  上述代码的执行结果如下。

  123

  132

  213

  231

  312

  321

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: