Leetcode 300 最長遞增子序列(LIS板題)
Description
給定一個陣列找最長遞增子序列長度。
Input
一個vector陣列例如:[10,9,2,5,3,7,101,18]
Output
4
Solution
LIS板題。
- 注意dp陣列初始化為1。
- 狀態轉移:
class Solution
{
public:
int lengthOfLIS(vector<int> &nums)
{
if (nums.size() == 0)
return 0;
//dp初始化為1!!!
vector<int> dp(nums.size(), 1);
for (int i = 1; i < nums.size(); ++i)
{
// 每次外部迴圈,確定以當前位置為末尾元素的最長子序列;
for (int j = 0; j < i; ++j)
// 通過遍歷 j 實現對 dp[i] 的更新
if (nums[j] < nums[i])
dp[i] = max(dp[i], 1 + dp[j]);
}
int res = 0;
for (int i = 0; i < nums.size(); i++)
res = max(ans, dp[i]);
return res;
}
};
相關文章
- Leetcode-300. 最長遞增子序列LeetCode
- LeetCode300.最長遞增子序列LeetCode
- 【修訂版】Leetcode 300 最長遞增子序列LeetCode
- leetcode力扣 300. 最長遞增子序列LeetCode力扣
- 最長遞增子序列
- 300-Longest Increasing Subsequnce-最長遞增子序列
- 最長遞增子序列-Java 實現Java
- 【LeetCode動態規劃#14】子序列系列題(最長遞增子序列、最長連續遞增序列、最長重複子陣列、最長公共子序列)LeetCode動態規劃陣列
- Day 45 | 300.最長遞增子序列 、674. 最長連續遞增序列 、718. 最長重複子陣列陣列
- 673. 最長遞增子序列的個數
- [leetcode 中等 動態規劃]673. 最長遞增子序列的個數 [leetcode 簡單 滑動視窗] 674. 最長連續遞增序列 [筆試]陣列的遞增子陣列序列LeetCode動態規劃筆試陣列
- [LintCode] Longest Increasing Subsequence 最長遞增子序列
- 程式碼隨想錄演算法訓練營 | 300.最長遞增子序列,674. 最長連續遞增序列,718. 最長重複子陣列演算法陣列
- 程式碼隨想錄演算法訓練營第49天 | 300.最長遞增子序列 、674. 最長連續遞增序列 、718. 最長重複子陣列演算法陣列
- NlogN 求最長不下降子序列(LIS)
- Leetcode 最小調整數+滑動視窗遞增子序列LeetCode
- 第二章 :查詢與排序-------2.19題目詳解_找出最長連續遞增子序列排序
- 動態規劃7:最長上升子序列LIS動態規劃
- 最長上升子序列(LIS)的兩種演算法演算法
- 最長上升子序列LIS 詳解+變形+擴充
- DP筆記最長上升子序列(LIS)以及零件分組問題筆記
- 線性dp:LeetCode674. 最長連續遞增序列LeetCode
- Codeforces Round #323 (Div. 2) D LIS 最長上升子序列
- 【部分轉載】:【lower_bound、upperbound講解、二分查詢、最長上升子序列(LIS)、最長下降子序列模版】
- 【LeetCode回溯演算法#08】遞增子序列,鞏固回溯演算法中的去重問題LeetCode演算法
- 最長公共子序列,遞迴簡單程式碼遞迴
- hdu1025 最大遞增子序列的優化優化
- LeetCode-128-最長連續序列LeetCode
- LeetCode 300. 最長上升子序列(Python、動態規劃、貪心演算法)LeetCodePython動態規劃演算法
- LeetCode 1143.最長公共子序列LeetCode
- LeetCode516. 最長迴文子序列LeetCode
- 演算法題:最長公共子序列演算法
- 最長公共子序列
- 最長上升子序列
- 【LeetCode(Java) - 298】二叉樹最長連續序列LeetCodeJava二叉樹
- Day 28 | 491.遞增子序列 、46.全排列、 47.全排列 II
- OpenJ_Bailian - 2945 攔截導彈(最長遞減子序列)AI
- codeforces 340D Bubble Sort Graph(最長非遞減子序列)