用 C++ 統計所有遞增子序列
在本教程中,我們將討論一個查詢遞增序列個數的程式。
為此,我們將獲得一個包含數字 0 到 9 的陣列。我們的任務是統計陣列中所有序列,使得序列的下一個元素大於前一個元素。
示例
#include<bits/stdc++.h> using namespace std; //counting the possible subsequences int count_sequence(int arr[], int n){ int count[10] = {0}; //scanning each digit for (int i=0; i<n; i++){ for (int j=arr[i]-1; j>=0; j--) count[arr[i]] += count[j]; count[arr[i]]++; } //getting all the possible subsequences 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; }
輸出
14
廣告