T300最長遞增子串行

2021-10-05 21:01:30 字數 495 閱讀 3536

思想:複製子序列問題可以考慮使用dp,而本題 這樣的子串行因為只有乙個序列,所以在定義dp時只需要1個狀態就好了

dp[i]表示遍歷到第i個位置上時的最長上公升子串行的長度

base case:dp[i]=1//每個元素自身都為1個上公升子串行

狀態轉移方程:

if(nums[i]>nums[j]):dp[i] = max(dp[j]|j=0,1…i-1)+1(題目沒有要求是連續的最長遞增子串行)

else:什麼也不幹,因為nums[i]與之前的遞增子串行構不成遞增的序列

class solution 

}res = math.max(res,dp[i]);

}return res;//注意這裡,dp[len-1]記錄的不一定是最長遞增子串行的長度,因為有可能nums[len-1]不一定能與之前的遞增子串行構成乙個遞增序列

}}

300 最長遞增子串行

給你乙個整數陣列nums,找到其中最長嚴格遞增子串行的長度。子串行是由陣列派生而來的序列,刪除 或不刪除 陣列中的元素而不改變其餘元素的順序。例如,3,6,2,7 是陣列 0,3,1,6,2,2,7 的子串行。示例 1 輸入 nums 10,9,2,5,3,7,101,18 輸出 4 解釋 最長遞增...

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 輸出 ...