最长递增子序列

题目描述:设 L=<a1,a2,…,an>是 n 个不同的实数的序列, L 的递增子序列是这样一个子序
Lin=<aK1,ak2,…,akm>,其中 k1<k2<…<km 且 aK1<ak2<…<akm。

求最大的 m 值。


import java.util.ArrayList;
import java.util.List;

public class MaxIncreaseLen {
	public static int solution(List<Integer> list){
		if(list == null){
			return 0;
		}
		if(1 == list.size()){
			return 1;
		}
		int maxLen = 1;
		int len = 1;
		for(int i=1;i<list.size();i++){
			if(list.get(i)>list.get(i-1)){
				++len;
			}else{
				len =1;
			}
			if(len > maxLen){
				maxLen = len;
			}
		}
		
		return maxLen;
	}
	public static void main(String[] args) {
		List<Integer> list = new ArrayList<Integer>();
		list.add(5);
		list.add(15);
		list.add(3);
		list.add(4);
		list.add(6);
		list.add(8);
		list.add(1);
		System.out.println(solution(list));
	}
}


你可能感兴趣的:(最长递增子序列)