回溯算法求全排列,设计一个回溯算法来生成数字的所有排列
计算机编程语言
Python开发
Python语言
Python完整序列
序
在编程过程中,满数组是经常遇到的一种问题。有时候自己写有点麻烦,浪费时间。这里介绍一下python的所有数组函数,——itertools.permutations。更重要的是,itertools是一个标准库,不需要其他安装,只需要导入。要知道,正式比赛是不允许第三方库的。
主体
首先,我们来看看函数的语法格式和参数。
ITER工具.置换(iterable [,r]).
r指定生成的数组元素的长度。如果未指定,默认值是复制对象的元素长度。
例如:
列表(ITER工具.排列([ 1,2,3 ],2))))))))))))))))).
[(1,2),1,3),2,1),2,3),3,1),3,2)列表(ITER工具。排列([1,2,3],3))。
[ (1,2,3 ),1,3,2,1,3 ),2,3,1 ),3,1,2,3,2,2,2,1 ]
接下来,这是我在洛杉矶用这个方法解决的问题:
主题描述
将1、2、9这9个数字分成3组,分别组成3个3位数,将这3个3位数做成1:2:3的比例,尽量找出所有符合条件的3个3位数。
输入格式
树形输入
输出格式
几行,每一行有三个数字。按照每行第一个数字的升序排列。
导入工具
nums=[ 1,2,3,4,5,6,7,8,9]for numitertools . permutations(nums,9):
a=100 *数量[0]10 *数量[1]数量[2]
b=100 *数量[3]10 *数量[4]数量[5]
c=100 * num[6]10 * num[7]num[8]IFB==2 * aan DC==3 * a:print(
该分段函数的输出如下:
192 384 576
219 438 657
273 546 819
327 654 981
你会发现这些图形非常有序,刚好符合主题的要求。但请注意,数组前的重复对象必须是有序的,否则无法有序输出。
内容来自互联网。如有侵权,请联系客服部门删除。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。