最長遞增子串

2021-07-15 14:26:02 字數 656 閱讀 9434

第一類:

只需要求長度最長的遞增子串

//方法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中的記錄...