寻找在手牌中加起来15的组合

时间:2010-12-04 22:33:19

标签: java algorithm

我正在编写一个处理卡片和手牌的程序。一只手有5张牌。我想知道什么是一个很好的算法,用于决定哪种卡组合加起来为15.国王,皇后区,杰克,数为10,Ace计为1。

2 个答案:

答案 0 :(得分:1)

这与子集和非常相似,我最近在这里回答:Subset Sum algorithm

您需要做的唯一调整是跟踪用于从possible[i]possible[i+n]的卡片。您可以使用第二个数组跟踪这些数据,然后将其称为card_used,然后将card_used[i+n]设置为用于从ii+n的卡的参考/索引。然后在最后,您可以通过回溯列表possible[15]来检索用于获得总和15的卡片(假设card_used为真)。

答案 1 :(得分:0)

1)握手 2)通过手循环
2a)每次迭代,将汽车的价值加到运行总计中。 2b)如果你达到15以上,你可以退出这个迭代