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

Đếm tất cả dãy con tăng dần trong C++


Trong hướng dẫn này, chúng ta sẽ thảo luận về chương trình tìm số lượng dãy tăng dần.

Chúng ta sẽ được cung cấp một mảng chứa các chữ số 0 đến 9. Nhiệm vụ của chúng ta là đếm tất cả các dãy hiện diện trong mảng sao cho phần tử tiếp theo lớn hơn phần tử trước.

Ví dụ

#include<bits/stdc++.h>
using namespace std;
//đếm các dãy con có thể
int count_sequence(int arr[], int n){
    int count[10] = {0};
    //quét từng chữ số
    for (int i=0; i<n; i++){
        for (int j=arr[i]-1; j>=0; j--)
            count[arr[i]] += count[j];
        count[arr[i]]++;
    }
    //lấy tất cả các dãy con có thể
    int result = 0;
    for (int i=0; i<10; i++)
        result += count[i];
    return result;
}
int main(){
    int arr[] = {3, 2, 4, 5, 4};
    int n = sizeof(arr)/sizeof(arr[0]);
    cout << count_sequence(arr,n);
    return 0;
}

Kết quả

14