【发布时间】:2019-02-18 13:02:20
【问题描述】:
输入是一个字符串(a, b, c, d,...)。在这个字符串中,a 表示相同颜色的 a 球,b 表示另一种颜色的 b 球,依此类推。所以 (2, 1, 3) 表示 2 个红球、1 个蓝球和 3 个黄球。
输出 1 是可能排列的数量,没有 2 个相同颜色的球相邻。
输出 2 是所有这些排列的列表。
例如:
输入:(2, 1, 3)
输出 1: 10个排列
输出 2: 131323, 132313, 231313, 312313, 313123, 等等
所以我的主要问题是:如何过滤Python 程序中两个或多个相同颜色的球彼此相邻的排列?
【问题讨论】:
-
嘿,罗莎,你在处理大量排列吗?我想你可以循环遍历排列中的数字列表,但如果你使用 100 万个以上的排列,它会太慢
-
@JuanC 排列的数量不是问题,我没有处理大量的问题。我一直在努力解决如何确定哪些排列有相同颜色的球相邻,所以我可以过滤它们。
-
我假设输出 2 是列表格式,对吧?
-
@JuanC 是的,是的
-
@Rosa:我的回答解决了你的问题吗?
标签: python permutation