gpt4 book ai didi

Java:成对组合数组中的元素

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:26:11 24 4
gpt4 key购买 nike

我有一个元素数组(偶数个),我想获得它们所有可能的成对组合。

如果数组是

String[] test = new String[4]; 
String[] test= {"e1","e2","e3","e4"};

输出应该是:

Combination1 e1-e2 , e3-e4
Combination2 e1-e3 , e2-e4
Combination3 e1-e4 , e2-e3
Combination4 e4-e1 , e3-e2
Combination5 e3-e1 , e4-e2
Combination6 e2-e1 , e4-e3

最佳答案

Link to previous answer


String[] test = {"e1","e2","e3","e4"};

for (int i = 0; i < test.length; i++) {

for (int j = i + 1; j < test.length; j++) {

System.out.print(test[i] + " - " + test[j]);

boolean foundExtra = false;

for (int k = 0; k < test.length && !foundExtra; k++)
{
if (k != j && k != i)
{
for (int l = 0; l < test.length; l++)
{
if (l != k && l != j && l != i)
{
System.out.println(" , " + test[k] + " - " + test[l]);
foundExtra = true;
break;
}
}
}
}
}
}

将给出输出:

e1 - e2 , e3 - e4
e1 - e3 , e2 - e4
e1 - e4 , e2 - e3
e2 - e3 , e1 - e4
e2 - e4 , e1 - e3
e3 - e4 , e1 - e2

这不是您在问题中提出的输出,但我相信这是您想要的输出,从您的运动队评论来看。

不要害怕循环 - 我一次性完成了这个,因为我认为它很容易扔掉。

我在想什么:找到所有组合,就像我之前的回答一样。这就是我的开始。接下来我做的事情(4 个循环中的最后 2 个 - kl)是检查剩下的 other 团队。

因此循环遍历所有元素,检查ij 是否尚未使用,则为k。然后,再次循环所有的元素,检查ijk是否还没有被使用,那就是.

关于Java:成对组合数组中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21126346/

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