c - 如何计算数组中相似数字的数量

标签 c arrays

<分区>

假设我们有一个没有任何库的 C(嵌入式世界)。我想知道一些好的实现来计算数组中在定义的偏移量附近彼此接近的多数数。 示例(偏移量 +/- 10):

array(1, 5, 9, 50, 2, 54, 3, 1, 58, 59, 56, 54, 48, 2), result 7
array(1, 5, 4, 8, 60, 500, 200, 7, 2, 4, 1, 2, 4), result 10 

最佳答案

我会一次取一个数字,然后检查它的“x 范围”中有多少个数字。

迭代数组并检查每个数字:

For (int i = 0; i < array.length; i++){
    int sum = 0
    int result = CheckNumbersInRange(i, array, range)
    if (result > sum)
        sum = result;
}

//现在你有了你想要的数字。

现在您只需要编写一个函数来检查数组[i] 范围内有多少个数字。 在那里你可以再次迭代整个数组并比较每个元素并在每次满足条件时对其进行计数。最后返回范围内的元素数。

int CheckNumbersInRange(int i, int array[], int range){
    int sum = 0;
    for(int j = 0; j < a.length; j++){
        if (array[i] < (array[j] + range) && array[i] > (array[j] - range))
            sum++;
    }
    return (sum -1); // because the array[i] will count up itself.
}

关于c - 如何计算数组中相似数字的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26676851/

相关文章:

c - 我如何让我的c程序随机选择

arrays - 是否存在总和为目标的子数组?

php - 在 php 中清理整个 $_POST 数组的好方法是什么?

java - Java 如何处理由对象组成的初始化数组?

c - 结构类型上的 Yacc union

c - 生成连通图并检查它是否有欧拉循环

javascript - React 中的可变状态更新

java - 更改数组中的数据与创建新数组,Java

c - 如何创建具有不同定义的静态链接库的两个实例?

python - 从 c 中创建的结构中读取 python 中的结构