第一類:
只需要求長度最長的遞增子串
//方法1:時間複雜度(o(n^2))
#include
#include
#define maxn
1000+5
using
namespace
std;
inta[maxn
],b[
maxn];
//a[i]
表示輸入的陣列,
b[i]
表示到字元
i的最長遞增子串
intmain()
for(i=1;i
b[i]=max+1;
}sort(b
,b+n);
cout
<<
b[n-
1]<<
endl;
return0;
} //用到的知識:
// 1、動態規劃,在第i個數計算時,與前面的數比較,
// 如果比前面的數大,就一定存在長度比它大1的子串。
//方法2:時間複雜度為(o(nlogn))
//用到的知識:
// 1、堆疊;
// 2、二分查詢
第二種:
//需要輸出最大遞增子串的元素
動態規劃 最長遞增子串行和最長連續遞增子串行
leetcode 674.最長連續遞增序列 題目描述 給定乙個未經排序的整數陣列,找到最長且 連續遞增的子串行,並返回該序列的長度。連續遞增的子串行 可以由兩個下標 l 和 r l r 確定,如果對於每個 l i r,都有 nums i nums i 1 那麼子串行 nums l nums l 1 ...
字母排序(最長遞增子串)
x年突然有外星人造訪,但大家語言不通,不過科學家們經過研究發現外星人用26個英文本母組成的單詞中最長不降子串行的長度來表述數字,且英文本母的排列順序不同,現給出其排列順序,再給出外星人說的每個數字 其實是每個英文單詞,用空格隔開 翻譯出外星人所說的數字 連續輸出,最後加回車 因為是最長不降子串行,所...
動態規劃 最長遞增子串
給定乙個陣列nums,求其最長的遞增子串長度。如陣列 10,9,2,5,3,7,101,18 其最長遞增子串為 2,3,7,101 長度為4.方法一 直接遍歷,複雜度為o n 2 方法二 把長度為i 1的遞增子串的最後元素的最小值記錄在陣列tails中,如對於陣列 4,5,6,3 tails中的記錄...