給定乙個整數陣列(下標從 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...