最長上公升子串行的長度

2021-10-24 17:11:15 字數 918 閱讀 4981

給定乙個無序的整數陣列,找到其中最長上公升子串行的長度。

示例:輸入: [10,9,2,5,3,7,101,18]

輸出: 4

解釋: 最長的上公升子串行是 [2,3,7,101],它的長度是 4。

說明:可能會有多種最長上公升子串行的組合,你只需要輸出對應的長度即可。演算法的時間複雜度應該為 o(n^2) 。

#include

#include

#include

#include

#include

using

namespace std;

intmain()

int dp[n]

[n];

memset

(dp,0,

sizeof

(dp));

for(

int i=

0;i) dp[i]

[j]=

max(dp[i]

[j-1

],dp[i]

[j]);}

else

if(a[i]

&&ielse

}else}}

}//cout[n-1];

return0;

}/*10 9 2 5 3 7 101 18

10 0 0 0 0 0 0 2 2

9 0 0 0 0 0 0 2 2

2 0 0 0 2 2 3 4 4

5 0 0 0 2 2 3 4 4

3 0 0 0 2 2 3 4 4

7 0 0 0 2 2 3 4 4

101 0 0 0 2 2 3 4 4

18 0 0 0 2 2 3 4 4

*/

最長上公升子串行的長度

描述 在一條單車道的公路上有n輛汽車行駛,從前向後第i輛車的最高速度是vi。所有車輛都會盡量保持最高速度行駛。不過由於只有單車道,所以當後方快車追上前方慢車後,無法超車,只能降速跟在慢車後面。於是經過足夠長時間 足夠後方快車追上前方慢車 的行駛後,某些車輛會聚成一隊以相同的速度向前行駛。我們把這些聚...

最長上公升子串行 LIS 長度

屬於簡單的經典的dp,求最長上公升子串行 lis 先研究了o n 2 的思路。令a i 表示輸入第i個元素,d i 表示從a 1 到a i 中以a i 結尾的最長子序列長度。對於任意的0 j i 1,如果a j a i 則a i 可以接在a j 後面形成乙個以a i 結尾的新的最長上公升子串行。對於...

最長上公升子串行求長度

普通dp 複雜度o 2 1 include 2 using namespace std 34 const int n 1010 5 inta n dp n n 67 intmain 1819 int res 0 20 for int i 1 i n i 21 res max res,dp i 222...