题目
更好的方法是耐心排序,参见《算法小抄》的内容!!!

法1:DP

基础解法必须掌握!!!

class Solution {public int lengthOfLIS(int[] nums) {if (nums == null || nums.length == 0) {return 0;}int maxLen = 1, n = nums.length;int[] dp = new int[n]; // 以i结尾的LISArrays.fill(dp, 1);for (int i = 0; i < n; ++i) {for (int j = 0; j < i; ++j) {if (nums[i] > nums[j] && (dp[j] + 1 > dp[i])) {dp[i] = dp[j] + 1;maxLen = Math.max(maxLen, dp[i]);}}}return maxLen;}}

法2:二分