最大遞增子字串長度

2021-10-21 02:09:09 字數 669 閱讀 7579

遞迴策略+記憶陣列

int result;

int arr[

100]

;//記憶陣列,前面計算過的直接在這裡查就行了,不用在遞迴裡重複操作了,時間複雜度o(n^2)

int memo[

100]

;//返回以arr[n]結尾的最長子字串長度

intf

(int n)}}

memo[n]

=result;

return result;

}int

main()

int maxlength=0;

for(

int j=

0;j) cout

}

時間複雜度更小的一種方法:o(n)

int arr[

100]

;//result[i]記錄最長子字串長度為i的最小字元

int result[

100]

;int length;

voidf(

int n)

else

} cout<}int

main()

f(n)

;return0;

}

演算法 遞增子串行最大長度

給定乙個整數陣列nums,找到其中最長嚴格遞增子串行的長度,以下為示例,leetcode 鏈結 輸入 nums 10 9,2 5,3 7,101,18 輸出 4 解釋 最長遞增子串行是 2,3,7,101 因此長度為 4子串行是由陣列派生而來的序列,刪除 或不刪除 陣列中的元素而不改變其餘元素的順序...

字串最大長度

已知乙個字串陣列words,要求尋找其中兩個沒有重複字元的字串,使得這兩個字串的長度乘積最大,輸出這個最大的乘積。如 words abcd wxyh defgh 其中不包含重複字元的兩個字串是 abcd 和 wxyh 則輸出16 words a aa aaa aaaa 找不到滿足要求的兩個字串,則輸...

最長遞增子串

第一類 只需要求長度最長的遞增子串 方法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...