生成全排列的三种方式(对可重集也适用)
1:递归实现,代码来自刘汝佳大神的书<<算法竞赛入门经典>>
/* n为集合种元素个数,p数组存放要生成全排列的数组,A数组存放每种排列
cur表示当前需要确定A数组的第几个元素
注意对于可重集,我们需要 不重不漏 地枚举遍目标集合种所有元素
代码实现( if(!i || p[i]!=p[i-1]) )
即检查目标集合中第一个元素和所有"与前一个元素不同"...
原创
2018-11-07 17:30:17 ·
979 阅读 ·
0 评论