数组中最长递增子序列长度 求⼀个⼀维数组(N个元素)中的最长递增子序列的长度。 如:在序列1 ,4,2,5,3中,其最长的递增子序列为1 ,4,5或1,2,3,最长递增⼦序列的长度是3 输入说明: 第1行n为数组大小,接下来n行为数组元素
时间: 2024-05-24 09:10:39 浏览: 67
最长递增子序列
输入样例:
5
1
4
2
5
3
输出样例:
3
解题思路:
动态规划。设dp[i]为以第i个元素结尾的最长递增子序列的长度,则有状态转移方程:
dp[i] = max(dp[j])+1,其中j为所有满足nums[j]<nums[i]的位置。最后的答案即为dp数组中的最大值。
时间复杂度为O(n^2),空间复杂度为O(n)。
Python代码:
阅读全文