給你乙個整數陣列nums
,找到其中最長嚴格遞增子串行的長度。
子串行是由陣列派生而來的序列,刪除(或不刪除)陣列中的元素而不改變其餘元素的順序。例如,[3,6,2,7]
是陣列[0,3,1,6,2,2,7]
的子串行。
示例 1:
輸入:nums = [10,9,2,5,3,7,101,18]示例 2:輸出:4
解釋:最長遞增子串行是 [2,3,7,101],因此長度為 4 。
輸入:nums = [0,1,0,3,2,3]示例 3:輸出:4
輸入:nums = [7,7,7,7,7,7,7]輸出:1
本題是經典的動態規劃問題。詳細步驟已標註在**中。
classsolution
}maxcount =max(maxcount, dp[i]);
}return
maxcount;
}};
/** * @param nums
* @return */
var lengthoflis =function(nums)
}maxcount =math.max(maxcount, dp[i]);
}return
maxcount;
};
T300最長遞增子串行
思想 複製子序列問題可以考慮使用dp,而本題 這樣的子串行因為只有乙個序列,所以在定義dp時只需要1個狀態就好了 dp i 表示遍歷到第i個位置上時的最長上公升子串行的長度 base case dp i 1 每個元素自身都為1個上公升子串行 狀態轉移方程 if nums i nums j dp i ...
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 輸出 ...