最长连续递增子序列(部分有序)
题目:(1,9,2,5,7,3,4,6,8,0,)中最长的递增子序列为(3,4,6,8)。
代码:
1 public class 最长递增子序列 { 2 3 public static void main(String[] args) { 4 int []arr = {0,1,0,1,2,3,1,2,0,1,2,3,4,5,1}; 5 getLargestLen(arr); 6 7 } 8 9 private static void getLargestLen(int[] arr) { 10 int begin=0; // 最长递增子序列长度的开始位 11 int maxLen = 1; // 最长递增子序列长度 12 int k = 1; // 递增子序列长度 13 for (int end = 1; end < arr.length; end++) { 14 if(arr[end]>=arr[end-1]){ 15 k++; 16 } else { 17 k=1; 18 } 19 if (k>=maxLen) { 20 maxLen = k; 21 begin = end-maxLen+1; 22 } 23 } 24 System.out.print("最长连续递增子序列为:"); 25 for(int i = begin;i<begin+maxLen;i++) 26 System.out.print(arr[i] + " "); 27 } 28 29 }
结果:
原文地址:https://www.cnblogs.com/xiaoyh/p/10262061.html
相关推荐
-
Java数据校验详解 Java基础
2020-7-3
-
Spark ML机器学习 Java基础
2019-5-20
-
Hello Kotlin(使用Kotlin开发Android) Java基础
2019-8-22
-
java接口签名(Signature)实现方案续,java接口签名(Signature)实现方案 Java基础
2019-5-13
-
Android 让你的 Room 搭上 RxJava 的顺风车 从重复的代码中解脱出来 Java基础
2019-10-7
-
SSM(九)反射的实际应用-构建日志对象 Java基础
2020-5-30
-
【知识积累】服务器端获取客户端的IP地址(当客户端调用由Axis开发的WebService) Java基础
2019-3-19
-
Java内嵌Groovy脚本引擎进行业务规则剥离(二)–JAVA解析 Java基础
2020-7-3
-
【胡思乱想】JNI与线程池的维护 Java基础
2019-7-28
-
以图搜图系统概述及工程实践(下) Java基础
2020-7-2