使用JAVA数组中最长递增子序列长度 求⼀个⼀维数组(N个元素)中的最长递增子序列的长度。 如:在序列1 ,4,2,5,3中,其最长的递增子序列为1 ,4,5或1,2,3,最长递增⼦序列的长度是3 输入说明: 第1行n为数组大小,接下来n行为数组元素
时间: 2024-05-25 14:15:22 浏览: 124
动态规划问题-最长单调递增子序列问题
的值。
示例输入:
5
1
4
2
5
3
示例输出:
3
解题思路:
可以使用动态规划来解决这个问题。
定义dp[i]表示以第i个元素结尾的最长递增子序列的长度,那么dp[i]可以由dp[0]到dp[i-1]转移而来。
具体转移方程为:dp[i] = max(dp[j])+1,其中j是i之前的某个元素,满足a[j]<a[i]。
最后遍历整个dp数组,取最大值即为最长递增子序列的长度。
Java代码实现:
阅读全文