300. 最長遞增子串行
給你乙個整數陣列 nums ,先思考,再看答案找到其中最長嚴格遞增子串行的長度。
子串行是由陣列派生而來的序列,
刪除(或不刪除)陣列中的元素而不改變其餘元素的順序。
例如,[
3,6,2,7] 是陣列 [0,3,1,6,2,2,7
] 的子串行。
示例 1:
輸入:nums = [10,9,2,5,3,7,101,18
]輸出:
4解釋:最長遞增子串行是 [
2,3,7,101],因此長度為 4
。示例 2:
輸入:nums = [0,1,0,3,2,3
]輸出:
4示例 3:
輸入:nums = [7,7,7,7,7,7,7
]輸出:11
<= nums.length <= 2500
-104
<= nums[i] <= 104
高階:你可以設計時間複雜度為 o(n2) 的解決方案嗎?
你能將演算法的時間複雜度降低到 o(n log(n)) 嗎?
1view codeclass
solution
8 vector dp(nums.size(),1);9
for(int i=0;ii)
1017}18
}1920int res = 0;21
for(auto val : dp)
2226
//cout <27
return
res;28}
29 };
LeetCode 300 最長遞增子串行
300.最長遞增子串行 我們記狀態 dp i dp i dp i 表示以第 i ii 個元素結尾的最長上公升子串行的長度,那麼專一方程就可以定義為 dp i m ax d p j 1 0 j ndnu ms j ms i dp i max dp j 1 0 leq jdp i max dp j 1 ...
LeetCode300 最長遞增子串行
題目鏈結 題目描述 給你乙個整數陣列 nums 找到其中最長嚴格遞增子串行的長度。子串行是由陣列派生而來的序列,刪除 或不刪除 陣列中的元素而不改變其餘元素的順序。例如,3,6,2,7 是陣列 0,3,1,6,2,2,7 的子串行。示例 輸入 nums 10,9,2,5,3,7,101,18 輸出 ...
leetcode 300 最長遞增子串行
思路,動態規劃 狀態含義 dp i 第i個元素所表示的最大的遞增序列長度 轉移方程 第i個是否可以放在第j個後面 1.可以放,dp i max dp i dp j 1 2.不可以放,跳過 遍歷dp找最大 class solution max max max,dp i return max inclu...