【发布时间】:2014-08-08 13:42:48
【问题描述】:
给定一个可变维度的数组...... 例如。数组={1,2,4,5}
我需要一种方法来概括所有可能的组合和数组的子集。
给定一个包含 n 个元素的数组,我需要拥有所有子集(1 个元素的所有子集、2 个元素的所有子集、n 个元素的所有子集)每个子集的所有可能排列。
例如结果应该是:
{1}
{2}
{4}
{5}
{1,2}
{1,4}
{1,5}
{2,1}
{2,4}
{2,5}
....
....
{1,2,4,5}
{1,2,5,4}
{1,4,2,5}
{1,5,2,4}
{1,5,4,2}
{2,1,4,5}
{2,1,5,4}
....
....
{5,1,4,2}
{5,1,2,4}
{5,2,4,1}
....
....
etc...
所有组合!
有没有快速的方法? 我不知道....
【问题讨论】:
-
你尝试过什么,你做了什么?或者,如果您还没有编写任何代码,请尝试写下说明:例如,排列和子集是什么意思?
-
我没有任何代码...因为我真的很困惑。 Thusitha 的例子产生了所有的排列。我需要所有的组合。这意味着:给定一个数组,我需要拥有所有子集(1 个元素的所有子集、2 个元素的所有子集、n 个元素的所有子集)每个子集的所有可能排列。
-
@assylias 就是这样,结合查找每个集合的排列。
标签: java arrays combinations permutation