lintcode 397 最長上公升連續子串行

2022-03-29 14:28:05 字數 809 閱讀 2863

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

注意事項

time

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

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

標籤動態規劃 陣列 列舉法

思路

使用一維陣列 dp[i] 記錄第 i 位所在的上公升連續子串行的長度,則 dp[i] 的最大值就是最長上公升連續子串行,但要從左至右和從右至左遍歷 2 次數組a

code

class solution 

vectordp(size, 0);

dp[0] = 1;

int maxleft = dp[0];

for (int i = 1; i < size; i++)

else

maxleft = max(maxleft, dp[i]);

}dp[size - 1] = 1;

int maxright = dp[size - 1];

for (int i = size - 2; i >= 0; i--)

else

maxright = max(maxright, dp[i]);

}return max(maxleft, maxright);

}};

LintCode 397 最長上公升連續子串行

給定乙個整數陣列 下標從 0 到 n 1,n 表示整個陣列的規模 請找出該陣列中的最長上公升連續子串行。最長上公升連續子串行可以定義為從右到左或從左到右的序列。樣例 1 輸入 5,4,2,1,3 輸出 4 解釋 給定 5,4,2,1,3 其最長上公升連續子串行 lics 為 5,4,2,1 返回 4...

LintCode 397 最長上公升連續子串行

求最長上公升連續子串行的長度,但該題與一般情況不同,該題認為逆序也成立如 5,4,3,2,1,6 5,4,3,2,1 從右向左看也為最長上公升連續子串行,故對於這種情況直接將陣列反轉處理,再次求解。座標型動態規劃 最後一步 如果a j 是該序列中的話,那麼a j 1 一定是該序列中的,且a j a ...

397 最長上公升連續子串行

給定乙個整數陣列 下標從 0 到 n 1,n 表示整個陣列的規模 請找出該陣列中的最長上公升連續子串行。最長上公升連續子串行可以定義為從右到左或從左到右的序列。給定 5,4,2,1,3 其最長上公升連續子串行 lics 為 5,4,2,1 返回4.給定 5,1,2,3,4 其最長上公升連續子串行 l...