leetcode300 最長上公升子串行

2021-09-26 04:32:42 字數 644 閱讀 9425

題目要求:

分析:

這道題利用動態規劃,假設dp[i]為最長上公升序列的長度,那麼它只與前乙個狀態的最長上公升序列長度有關,則可以得到乙個遞推表示式為:

dp[i] = math.max(dp[i], dp[j] + 1)

這裡要注意的是邊界情況:nums只為0的時候,它也是乙個最長上公升序列,返回值為1。

下面**中注釋掉的部分拿出來單獨放在迴圈裡判斷,效能會好很多。

具體**如下:

class solution 

int dp = new int[nums.length];

int result = 0;

for(int i = 0; i < nums.length; i ++)

//result = math.max(result, dp[i] + 1);}}

for(int i = 0; i < nums.length; i ++)

return result;}}

LeetCode300 最長上公升子串行

給定乙個無序的整數陣列,找到其中最長上公升子串行的長度。示例 輸入 10,9,2,5,3,7,101,18 輸出 4解釋 最長的上公升子串行是 2,3,7,101 它的長度是4。說明 題目分析 方法一 動態規劃,用dp i 表示以nums i 結尾的最長上公升子串行。那麼如何求dp i 呢,只要看n...

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