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
廣告