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;}
}
阅读全文
0 0