Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Tính Bitonicity của mảng trong C

Bitonicity đo độ "dao động" của mảng: bắt đầu từ 0, so sánh từng cặp liền kề:

  • arr[i] > arr[i-1] → +1
  • arr[i] < arr[i-1] → -1
  • arr[i] = arr[i-1] → 0

Ví dụ

Mảng: {1, 2, 4, 5, 4, 3}

1→2: +1, 2→4: +1, 4→5: +1, 5→4: -1, 4→3: -1 → Tổng = 1

Chương trình

#include <iostream>
using namespace std;

int main() {
    int arr[] = {1, 2, 4, 5, 4, 3};
    int n = sizeof(arr)/sizeof(arr[0]);
    int bitonicity = 0;
    
    for (int i = 1; i < n; i++) {
        if (arr[i] > arr[i-1]) bitonicity++;
        else if (arr[i] < arr[i-1]) bitonicity--;
    }
    cout << "Bitonicity = " << bitonicity;
    return 0;
}

Kết quả

Bitonicity = 1