/* 程序问题注释开始
-
程序的版权和版本声明部分
-
Copyright © 2020,湖南工程职业技术学院信息工程学院学生
-
All rights reserved.
-
文件名称: 蓝桥杯赛题
-
作 者: 李 斌
-
完成日期: 2020 年 04 月 03日
-
版 本 号: 009
-
对任务及求解方法的描述部分
-
问题描述:
最长连续递增子序列(部分有序) -
样例输入:
1 2 1 6 8 2 3 4 5 2 -
输出结果:
4
2 3 4 5 -
程序问题注释结束
*/
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner in=new Scanner(System.in);
//输入用户输入数组元素个数
int n=in.nextInt();
int[] array=new int[n];
//输入数组元素值
for(int i=0;i<n;i++)
{
array[i]=in.nextInt();
}
int count=1,temp=0,end=1;
//每个元素与后方元素比较记录长度等
for(int i=0;i<n-temp;i++)
{
int count1=1,end1=1;
for(int j=i;j<n-1;j++)
{
//后面一个元素小于当前元素则结束本次循环
if(array[j]>=array[j+1])
{
end1=j;
break;
}
count1++;
}
if(count1>count)
{
//记录最长连续增子序列长度
count=count1;
//记录开始元素下标
temp=i;
//记录结束元素下标
end=end1;
}
}
//最长连续增子序列长度
System.out.println(count);
//输出最长连续增子序列
for(int i=temp;i<=end;i++)
{
System.out.print(array[i]+" ");
}
}
}
运行结果: