两对:如果有两对相同点数的骰子,玩家得分为这两个骰子点数之和。否则,玩家得分为0。例如,1、1、2、3、3放在“两对”上得8分。
示例: 1、1、2、3、3 得分8 1、1、2、3、4 得分0 1、1、2、2、2 得分6
如何高效地找到这种情况?
我一直在使用以下代码来寻找单个对子。
示例: 1、1、2、3、3 得分8 1、1、2、3、4 得分0 1、1、2、2、2 得分6
如何高效地找到这种情况?
我一直在使用以下代码来寻找单个对子。
int max_difference = 0;
int val1 = 0 , val2 = 0;
Arrays.sort(dice);
for (int i = 0; i < dice.length - 1; i++) {
int x = dice[i+1] - dice[i];
if(x <= max_difference) {
max_difference = x;
val1 = dice[i];
val2 = dice[i+1];
}
}
pairScore = val1 + val2;
x
和max_difference
(这个名称有些误导)的最低值将为1,你将得到一个成对分数为9(4 + 5)。 - Thomas