最长子序列
来源:互联网 发布:温哥华华人 知乎 编辑:程序博客网 时间:2024/05/21 11:07
求一个数组的最长递增子序列,如果数组为1,4,2,3,5,那么最长子序列为1,2,3,5,长度为4,求任意数组的最长子序列长度。
可以用一个数组来保存当前位置的最小子序列,如果r[i]>r[j],那么r[i]处的最长递增子序列就是r[j]处加1,所以要求一个n长数组的最长递增子序列,可以先求n-1长度的最长递增子序列,以此类推,可以算出,算法复杂度O(n*n)。
private static int longSubsequence(int[] r){ if(r.length==0) return 0; int ans = 0; int []dp = new int[r.length]; for(int i=0;i<r.length;i++){ dp[i] = 0; } for(int i=0;i<r.length;i++){ ans = dp[i]; for(int j=0;j<i;j++){ if(r[i]>r[j]&&dp[j]>ans){ ans = dp[j]; } } dp[i] = ans+1; } for(int i=0;i<dp.length;i++){ if(dp[i]>ans){ ans = dp[i]; } } return ans; }
0 0
- 最长公共子序列
- 最长公共子序列
- 最长递增子序列
- 最长递增子序列
- 最长公共子序列
- 最长公共子序列
- 最长递增子序列
- 最长公共子序列...
- 最长上升子序列
- 最长公共子序列
- 最长公共子序列
- 最长递增子序列
- 最长下降子序列
- 最长递增子序列
- 最长上升子序列
- 最长公共子序列
- 求最长子序列
- 最长公共子序列
- 【九度OJ】:1510 替换空格
- POJ_1511_Invitation Cards【双向最短路】
- join,wait线程理解
- 在CentOS7下安装APACHE2.4.6
- EffectiveJava 概述
- 最长子序列
- 去掉C语言中的注释(《C程序设计语言》习题1-23)
- Problem 136. Single Number
- Zip命令
- “MvvmLightLibs”已拥有为“CommonServiceLocator”定义的依赖项。
- jquery选择器实现传入变量
- form表单的序列化及serialize()函数的使用
- Android常见异常处理整理
- WFU A