gpt4 book ai didi

java - 如何找到集合的所有可能拆分?

转载 作者:搜寻专家 更新时间:2023-11-01 03:19:34 24 4
gpt4 key购买 nike

我需要将集合 A 拆分为两个集合 B 和 C,并找到 B 和 C 中 A' 元素的所有可能拆分。

所以当第一个拆分大小为 2 时

[abcd] ->[ab] [cd], [ac] [bd], [cd] [ab]..

当第一个拆分大小为 1 时

[abcd] -> [b] [acd], [a] [bdc], [d] [abc]..

知道如何做到这一点吗?

最佳答案

你可以使用 apache commons math util for java。如果您使用的是 Maven,请在 pom 中添加其依赖项,否则请手动下载并添加 jar。

https://commons.apache.org/proper/commons-math/apidocs/org/apache/commons/math3/util/Combinations.html

//n is no of elements. k is k-combinations
public Combinations(int n, int k)

//you can use this method to get every combination
public Iterator<int[]> iterator()

这将为您提供所有 k 组合,并且值将根据索引。您需要将索引转换为元素。

如果数组arr,你可以做arr[i]。如果列表,list.get(i)

关于java - 如何找到集合的所有可能拆分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34693950/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com