C++ 中数组中异常的数量
在本教程中,我们将编写一个程序,用于找出给定数组中的异常数。
给定数组中的数是异常数,如果这个数与所有其他数之间的绝对差值都大于给定的数 k。我们来看一个示例。
输入
arr = [3, 1, 5, 7] k = 1
输出
4
该数与其他所有数之间的绝对差值都大于 k。
算法
初始化数组。
遍历数组。
取这个元素,再遍历数组。
求出这两个数之间的绝对差值。
如果没有一个绝对差值小于或等于 k,则异常数计数器加 1。
实现
以下是上述 C++ 算法的实现:
#include <bits/stdc++.h> using namespace std; int getAnomaliesCount(int arr[], int n, int k) { int count = 0; for (int i = 0; i < n; i++) { int j; for (j = 0; j < n; j++) { if (i != j && abs(arr[i] - arr[j]) <= k) { break; } } if (j == n) { count++; } } return count; } int main() { int arr[] = {3, 1, 5, 7}, k = 1; int n = 4; cout << getAnomaliesCount(arr, n, k) << endl; return 0; }
输出
如果你运行上面的代码,你将得到以下结果。
4
广告