LeetCode300 最長上公升子串行

2021-08-25 11:22:26 字數 700 閱讀 9611

給定乙個無序的整數陣列,找到其中最長上公升子串行的長度。

示例:

輸入:[10,9,2,5,3,7,101,18]輸出:4解釋:最長的上公升子串行是[2,3,7,101],它的長度是4
說明:

題目分析:

方法一:動態規劃,用dp[i]表示以nums[i]結尾的最長上公升子串行。那麼如何求dp[i]呢,只要看nums[i]之前的元素,哪個元素比nums[i]要小,並且它的dp值最大,那麼dp[i]就在它dp值的基礎上加1即可。最後求所有dp陣列的最大值。

**展示:

class solution 

}//*lower_bound(vec.begin(),vec.end(),nums[i]) = nums[i];}}

return vec.size();

}};

說明:**12-17行可以用第18行**代替,作用是相同的。函式lower_bound(first,second,val)在first和last中的前閉後開區間進行二分查詢,返回大於或等於val的第乙個元素位置。

Leetcode 300 最長上公升子串行

給定乙個無序的整數陣列,找到其中最長上公升子串行的長度。示例 輸入 10,9,2,5,3,7,101,18 輸出 4解釋 最長的上公升子串行是 2,3,7,101 它的長度是4。說明 高階 你能將演算法的時間複雜度降低到 o n log n 嗎?解題思路 1.普通演算法 動態規劃。假設陣列的前n個數...

leetcode 300 最長上公升子串行

給定乙個無序的整數陣列,找到其中最長上公升子串行的長度。示例 輸入 10,9,2,5,3,7,101,18 輸出 4解釋 最長的上公升子串行是 2,3,7,101 它的長度是4。說明 高階 你能將演算法的時間複雜度降低到 o n log n 嗎?解法1 動態規劃空間複雜度o n 時間複雜度o n 2...

Leetcode 300 最長上公升子串行

給定乙個無序的整數陣列,找到其中最長上公升子串行的長度。示例 輸入 10,9,2,5,3,7,101,18 輸出 4解釋 最長的上公升子串行是 2,3,7,101 它的長度是4。說明 高階 你能將演算法的時間複雜度降低到 o n log n 嗎?動態規劃 o n 2 的狀態很好定義 dp i 表示以...