java - 在数组中查找多对(两对和/或葫芦)

标签 java arrays numbers poker

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/

相关文章:

java - 为什么数组类没有任何实用程序方法?

algorithm - 返回 0 到 4 之间的数字

Java JPA如何将一个实体实例与另一个实体的所有实例关联起来?

java - 如何在java中创建内置类?

arrays - 在 julia 中合并两个排序数组

c - 从 char 数组中获取值

java - 使用 JAXB 的 Jersey Web 服务中的 xml 语法无效

java - 我的闹钟应用程序不会显示闹钟通知或播放闹钟声音?

正则表达式以及用数字和文本替换

php - 使用 sprintf 打印浮点值