gpt4 book ai didi

java - 从 m 个集合中获取 n 个元素的所有不同组合

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

我正在尝试构建一种算法,从多场比赛中选择 4 匹马的组合。

假设我们有 10 场比赛,每场比赛有 8 匹马:我想要这些比赛中 4 匹马的所有组合,条件是这 4 匹马必须来自不同的比赛(同一组合中的两匹马不能来来自同一种族)。

这个问题(和现有算法)有名称吗?

我想这只是一系列循环,但我今天没喝咖啡...干杯

编辑:我应该说对于每个组合我都对组合执行相当长的函数,所以我不想重复我已经完成的组合。

编辑:还有比这更好的方法吗?

            n = number of races;
for ( int i = 0; i < n; i++ ) {
for ( int j = i + 1; j < n; j++ ) {
for ( int k = j + 1; k < n; k++ ) {
for (int l = k + 1; l < n; l++) {
//for each combination of 4 separate sets
for(int p = 0; p < races.get(i).getHorses().size(); p++){
for(int q = 0; q < races.get(j).getHorses().size(); q++){
for(int r = 0; r < races.get(k).getHorses().size(); r++){
for(int s = 0; s < races.get(l).getHorses().size(); s++){
//each combination of 4 horses
races.get(i).getHorses().get(p)
races.get(j).getHorses().get(q)
races.get(k).getHorses().get(r)
races.get(l).getHorses().get(s)
}
}
}
}
}
}
}
}

最佳答案

我不是很确定但是Chase's Twiddle (algorithm)可以帮助解决您的问题。

请检查:- Phillip J Chase,`Algorithm 382: Combinations of M out of N Objects ' (1970)

关于java - 从 m 个集合中获取 n 个元素的所有不同组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14465122/

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