LIS

来源:互联网 发布:创维电视使用网络电视 编辑:程序博客网 时间:2024/06/06 17:33

import java.util.Scanner;
//最长上升序列
public class LIS {

public static void main(String[] args) {    Scanner scanner = new Scanner(System.in);    int length = scanner.nextInt();    int[] values = new int[length];    int[] curlength = new int[length];    for (int i = 0; i < values.length; i++) {        values[i] = scanner.nextInt();        curlength[i] = 1;    }    int max = LISMAX(values,curlength);    System.out.println(max);}private static int LISMAX(int[] values, int[] curlength) {    for (int i = 1; i < values.length; i++) {        for (int j = 0; j < i; j++) {            if (values[i] > values[j]) {                curlength[i] = max(curlength[j] + 1,curlength[i]);            }        }    }    return max(curlength);}private static int max(int[] arr) {    int tag = 0;    for (int i = 1; i < arr.length; i++) {        if (arr[tag] < arr[i])            tag = i;    }    return arr[tag];}private static int max(int i, int j) {    return i >= j ? i : j;}

}

原创粉丝点击