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% 正确,但这就是我如何设法找到此数组中的最大元素及其出现次数的方法。
不过,这仅适用于一个(最多一个)重复出现的元素。我需要做的是找到所有重复出现的元素。为了尽可能精确,我需要找出这 7 个 j
中是否存在两对
或满屋
。
如果有人不知道这些是什么意思,两对是指有两对各有两个相等的数字。葫芦是指有两对,其中一对由两个相同的数字组成,另一对由三个相同的数字组成。
我需要在这 7 个 j
中找到最大可能的此类对(包括它们的值和出现次数)。
如果我找到一个,我正在考虑使用某种数组来存储一对,但问题是我需要为每个i
找到这样的对。在 for 循环中初始化数组似乎不起作用。
那么我怎样才能找到这些对呢?任何建议或想法将不胜感激!
最佳答案
为了解决您的问题并更轻松地找到 2 对或其他任何东西,请将您的 arr[][]
计入一维:arr[13]
(我猜这是牌,2 - Ace)
然后你可以传递这个数组来检查你想要的东西,比如数对或满堂彩,并了解它们的数量
编辑:
现在我注意到第一个维度是玩家,所以你可以用 arr[players][13]
关于java - 在数组中查找多对(两对和/或葫芦),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29400416/