問題:給定乙個序列an
=a1,a2, ... , an
,找出最長的子串行使得對所有i
< j,ai
。1.用動態規劃實現——求最長的子串行長度
int longestincreasesubserial(int* array, int length)
//初始化各個子串行的最大長度
int* currentmax = new int[length];
for (int i = 0; i < length; ++i)
for (int i = 0; i < length; ++i) +1(i=0,1,...,k),否則其等於1.
currentmax[i] = std::max(currentmax[j] + 1, currentmax[i]);
}} }
int longest = 0;
for (int i = 0; i < length; ++i)
delete currentmax;
return longest;
}
測試**
/*
* longestcommomserialmain.cpp
* * created on: 2014-4-11 14:40:08
* author: dandingcongrong
*/#includeusing namespace std;
//輸入各個陣列元素
void inputarray(int* array, int length)
}int main()
return 0;
}
程式設計之美 2 16 求陣列中最長遞增子串行
1.簡述 寫乙個時間複雜度盡可能低的程式,求乙個一維陣列中最長遞增子串行的長度。例如在序列1,1,2,3,4,5,6,7中,其最長的遞增子串行的長度為4 如1,2,4,6 2.思路 這個題目與前面求一維陣列中子陣列之和最大值有點像,不過區別還是很明顯,比如 子陣列是陣列中一串連續相鄰的數字,而子串行...
最長遞增子串行程式設計之美232演算法
include include int a 100 儲存原始序列 int lis 100 儲存以a i 為最大元素的最長遞增子串行的長度 int maxv 100 儲存長度為i的遞增子串行最大元素的最小值 int n 儲存原始序列的長度 int min int b printf 最大值是 d tem...
程式設計之美 最長遞增序列
從這道題目上 可以分析 最長子序列 要求的是 後面的元素 要比前面的元素大。我們記錄 陣列中元素 每乙個位置對應的最長子序列長度 當新加入的元素 大於前面的某個元素時,則對應的位置的最長序列長度 1 如下 include stdio.h int main int len sizeof data si...