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
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP