如何计算数字在数组中出现的次数

时间:2019-02-09 20:19:59

标签: c++ arrays

我需要计算一个数字在长度为5的一维数组中出现的次数。我需要对9个不同的数字执行此操作。结果是,不允许我对数组进行排序或创建一个新数组,并对一个人进行或在模式1&2、1&3、1&4、1&5、2&3等中进行比较。...我不允许使用任何外部函数和我只能使用循环和条件语句。谢谢!

例如,以下函数将无法使用,因为它使用了上述算法:

bool containsFourOfaKind(const int hand[])
{
    int doesMatch = 0;
    int x = 0;
    for (; x < 9; x++)
    {
        for (int i = 0; i < 5; i++)
        {
            if (hand[i] == x)
                doesMatch++;
        }
    }
}  

1 个答案:

答案 0 :(得分:2)

  1. 制作另一个整数数组以保持计数。
  2. 将计数数组的所有元素初始化为0。
  3. 对于输入数组中的每个数字,
    1. 使用输入数组中的数字作为计数数组的索引。
    2. 增加此元素。

计数数组现在包含输入数组中所有值的频率。