程式設計之美 陣列最長子序列

2021-07-12 07:01:33 字數 630 閱讀 6637

問題描述:

求乙個一維陣列的最長遞增子串行,時間複雜度盡可能小。

例如:陣列 1, -1,2,-3,4,-5,6,-7它的最長遞增子串行是 1,2,4,6。

思路:

建立乙個陣列,用於記錄到它為止遞增元素的最大個數。

從目標陣列的第乙個元素開始,尋找從陣列0元素開始到當前元素中間的遞增的元素個數,並記錄。

時間複雜度 o(n*n)。

#include using namespace std;

int getmaxsubseq1(int arr, int len)}}

delete psub;

psub = null;

return ret;

}void main()

; //int test = ;

//int test = ;

len = sizeof(test)/sizeof(test[0]);

i = getmaxsubseq1(test, len);

cout << "max len = "<< i << endl;

cin>> i;

}

程式設計之美 最長遞增序列

從這道題目上 可以分析 最長子序列 要求的是 後面的元素 要比前面的元素大。我們記錄 陣列中元素 每乙個位置對應的最長子序列長度 當新加入的元素 大於前面的某個元素時,則對應的位置的最長序列長度 1 如下 include stdio.h int main int len sizeof data si...

最長遞增子串行 程式設計之美2 16

問題 給定乙個序列an a1,a2,an 找出最長的子串行使得對所有i j,ai 1.用動態規劃實現 求最長的子串行長度 int longestincreasesubserial int array,int length 初始化各個子串行的最大長度 int currentmax new int le...

程式設計之美 2 16 求陣列中最長遞增子串行

1.簡述 寫乙個時間複雜度盡可能低的程式,求乙個一維陣列中最長遞增子串行的長度。例如在序列1,1,2,3,4,5,6,7中,其最長的遞增子串行的長度為4 如1,2,4,6 2.思路 這個題目與前面求一維陣列中子陣列之和最大值有點像,不過區別還是很明顯,比如 子陣列是陣列中一串連續相鄰的數字,而子串行...