int count = 1, maxCount = 0, elem = 0, maxElem = 0;
for (int i = 0; i < players; i++) {
for (int j = 1; j < 7; j++) {
if (arr[i][j] == arr[i][j - 1]) {
count++;
elem = arr[i][j - 1];
} else {
elem = 0;
count = 1;
}
if (count >= maxCount) {
maxCount = count;
maxElem = elem;
}
}
}
不确定它是否100%正确,但这是我设法找到此数组中的max元素及其出现次数的方法。
但是,这仅适用于一个(最大一个)reoccuring元素。我需要做的是找到所有reoccuring元素。为了尽可能精确,我需要找出7个two pair
s中是否有full house
或j
。
如果有人不知道那些意思是什么,那么两对就是每对有两对相同的数字。满屋是指有两对,其中一对由两个相等的数字组成,另一个由三个相等的数字组成。
我需要在这7个j
s中找到最大可能的对(包括它们的值和出现次数)。
如果我找到一个,我正在考虑使用某种数组存储一对,但问题是我需要为每个i
找到这样的对。并且在for loop
中初始化数组似乎并没有成功。
那我怎么可能找到那些对呢?任何建议或想法都会非常感激!
为了解决你的问题和更简单的方法找到2对或任何其他东西将你的arr[][]
统计到一个维度:arr[13]
(我猜它的卡片,2 - Ace)然后你可以传递这个数组来检查你想要的数字对或完全房子,知道他们的数字
编辑:现在我注意到第一个维度是玩家,所以你可以用arr[players][13]
做同样的事情