问题描述:
今天算法:求一个整数序列的最长递增子序列。
输入:第一行为序列长度,第二行给出整数序列。
输出:第一行为最长递增子序列的长度,第二行为最长递增子序列。
例输入:5
3 4 1 2 3
输出:3
1 2 3
老铁们可以先思考哦
package demo1;
import java.util.Arrays;
import java.util.Iterator;
import java.util.Stack;
@SuppressWarnings("all")
public class Text2 {
public static void main(String[] args) {
int count = 0;
int[] a = {2,1,5,3,6,4,8,9,7};
int b[] = index(a);
int c[] = sort(a,b);
for (int i = 0; i < c.length; i++) {
System.out.println(c[i]);
}
}
public static int[] sort(int a[],int b[]) {
int len = 0;//定义长度
int index = 0;//定义下标
//循环遍历找出最大的值和下标
for (int i = 0; i < b.length; i++) {
if(len<b[i]) {
len = b[i];//选出其中最大的元素,
index = i;//作为下组数组的值得长度,进行遍历其值进行选择;
}
}
//创建一