使用swap函数求解带有重复字符串的全排列

时间:2019-09-14 13:22:17
【文件属性】:

文件名称:使用swap函数求解带有重复字符串的全排列

文件大小:789B

文件格式:TXT

更新时间:2019-09-14 13:22:17

全排列

换种思维,对122,第一个数1与第二个数2交换得到212,然后考虑第一个数1与第三个数2交换,此时由于第三个数等于第二个数,所以第一个数不再与第三个数交换。再考虑212,它的第二个数与第三个数交换可以得到解决221。此时全排列生成完毕。 这样我们也得到了在全排列中去掉重复的规则——去重的全排列就是从第一个数字起每个数分别与它后面非重复出现的数字交换。用编程的话描述就是第i个数与第j个数交换时,要求[i,j)中没有与第j个数相等的数。下面给出完整代码:


网友评论

  • 没什么特别的。。。。