最长有序子序列
来源:互联网 发布:网络教师招聘 编辑:程序博客网 时间:2024/06/06 19:13
什么是最长有序子序列呢?
首先要明白子序列和子串不同,可以不连续,然后保证有序就是有序子序列了。
比如有如下数组:
I
0
1
2
3
4
5
6
7
8
Num[I]
1
4
7
2
5
8
3
6
9
F[I]
1
2
3
2
3
4
3
4
5
其中F[I]存的是以NUM[I]结尾的子序列的最长长度。上面看懂了,求一个数组的最长有序子序列就容易了,代码如下:
public class Test { public static void main(String[] args) { int[] num = new int[]{1,4,7,2,5,8,3,6,9}; int[] f = new int[num.length]; for (int i = 0;i < num.length;i++) { f[i] = 1; } int max = f[0]; for (int i = 1;i < num.length;i++) { for (int j = 0;j < i;j++) { //更新条件,1是有序,2是长度能变长 if (num[i] >= num[j] && f[i] < f[j] + 1) { f[i] = f[j] + 1; if (f[i] > max) { max = f[i];//更新最长的长度 } } } } System.out.println(max); }}
0 0
- 最长有序子序列。
- 最长有序子序列
- 最长有序子序列
- 最长有序子序列
- DP最长有序子序列
- hdu1160--最长有序子序列
- [模板]最长有序子序列
- 最长有序上升子序列
- dp之最长有序子序列
- dp之最长有序子序列
- 最长有序子序列及其路径
- 最长有序子序列--动态规划
- 求最长有序子序列长度
- 最长有序子序列 经典DP
- 最长有序子序列的C++实现代码
- 最长有序子序列—动态规划算法
- 最少拦截系统 hdu 1257 最长有序子序列
- FatMouse's Speed hdu1160 最长有序子序列
- 关于Filter解决全网乱码问题的总结 --- 包装类 编解码 过滤器
- 字符串拼接工具类
- 简读The Swift Programming Language官方文档--属性Properties
- PS特效
- HTC语法
- 最长有序子序列
- SaberRD之瞬态分析
- java XSS防护
- Oracle分页查询
- 读书笔记-Android开发艺术探索-第11章-Android的线程和线程池
- [Android Studio] Windows 7 下载与安装
- 使用ArcObjects或者ArcEngine对ArcGIS要素类重命名
- fiddler抓包下载安装配置
- 制作Nine-Patch图片