LintCode刷題 最長上公升連續子串行

2021-08-08 16:26:13 字數 719 閱讀 1114

問題描述:

給定乙個整數陣列(下標從 0 到 n-1, n 表示整個陣列的規模),請找出該陣列中的最長上公升連續子串行。(最長上公升連續子串行可以定義為從右到左或從左到右的序列。)

樣例:給定[5, 4, 2, 1, 3], 其最長上公升連續子串行(lics)為[5, 4, 2, 1], 返回4.

給定[5, 1, 2, 3, 4], 其最長上公升連續子串行(lics)為[1, 2, 3, 4], 返回4.

解決:

public class solution 

int increasingresult=1;

int unicreasingresult=1;

int currentincreasingresult=1;

int currentunicreasingresult=1;

for(int i=1;iarray[i-1]) else

increasingresult=integer.max(increasingresult, currentincreasingresult);

//最長連續遞減

if(array[i]increasingresult?unicreasingresult:increasingresult;

}}

刷題之路 最長上公升子串行

這是乙個經典的lis 即最長上公升子串行 問題,請設計乙個盡量優的解法求出序列的最長上公升子串行的長度。給定乙個序列a及它的長度n 長度小於等於500 請返回lis的長度。例如1,2,3,2,4,5,3,6,7,5,8,lis就為12345678,長度為8 經典動態規劃問題,確定初始狀態,當以第乙個...

牛客刷題 最長上公升子串行

題目 給定陣列arr,設長度為n,輸出arr的最長遞增子串行。如果有多個答案,請輸出其中字典序最小的 eg 輸入 2,1,5,3,6,4,8,9,7 輸出 1,3,4,8,9 這題好不容易寫出了動歸,結果超時了。難過 說一下另一種解法,還是看別人的 理解了很久。貪心 二分。首先在動歸中有乙個操作,是...

刷題 最長上公升子串行 最大上公升子串行和

關於子串行的問題做個記錄 一 最長上公升子串行 題目描述剝離,不管時搬箱子還是其他,一般來說,只要符合求後面的值比前面的大的序列長度基本上能套用 lis解法 1 動態規劃 找到序列1 7 3 5 9 4 8最長上公升子串行 找到初始化條件 狀態轉移方程 初始化 對於序列中的每個元素來說,它本身的長度...