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

How do I count the number of times a number appears in an array

本文关键字:数组 一个 何计算 计算 数字      更新时间:2023-10-16

我需要计算一个数字在长度为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. 制作另一个整数数组以保持计数
  2. 将计数数组的所有元素初始化为0
  3. 对于输入阵列中的每个数字,
    1. 使用输入数组中的数字作为计数数组的索引
    2. 增加此元素

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

相关文章: