在数组中找到多对(两对和/或满屋)

问题描述 投票:0回答:1
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 pairs中是否有full housej

如果有人不知道那些意思是什么,那么两对就是每对有两对相同的数字。满屋是指有两对,其中一对由两个相等的数字组成,另一个由三个相等的数字组成。

我需要在这7个js中找到最大可能的对(包括它们的值和出现次数)。

如果我找到一个,我正在考虑使用某种数组存储一对,但问题是我需要为每个i找到这样的对。并且在for loop中初始化数组似乎并没有成功。

那我怎么可能找到那些对呢?任何建议或想法都会非常感激!

java arrays numbers poker
1个回答
1
投票

为了解决你的问题和更简单的方法找到2对或任何其他东西将你的arr[][]统计到一个维度:arr[13](我猜它的卡片,2 - Ace)然后你可以传递这个数组来检查你想要的数字对或完全房子,知道他们的数字

编辑:现在我注意到第一个维度是玩家,所以你可以用arr[players][13]做同样的事情

© www.soinside.com 2019 - 2024. All rights reserved.