我有一副标准的牌,然后从剩余的牌中删除了一些,我想计算所有可能的两张牌组合。例如,47 张牌有 47 种选择 2 种组合。除了
foreach(card){
combinations.add(card, card +1)
}
谢谢
我有一副标准的牌,然后从剩余的牌中删除了一些,我想计算所有可能的两张牌组合。例如,47 张牌有 47 种选择 2 种组合。除了
foreach(card){
combinations.add(card, card +1)
}
谢谢
for(int i=0; i<47; i++) {
for(int j=i+1; j<47; j++) {
combinations.add(i, j);
}
}
这是最有效的方式,因为它只通过每对一次。
如果您只需要两对组合的数量,请参见此处。
在这个站点上有一些解决组合问题的算法。寻找一个名为
class ChoiceIterable<T> implements Iterable<T[]>
如果您只需要两个卡片子集(而不是可变编号),您可以使用两个嵌套的 for 循环轻松完成此操作。
for(i=0;i<cards.length;i++){
for(j=i+1;j<cards.length;j++){
combinations.add(cards[i],cards[j]);
}
}