class Solution {public int lengthOfLIS(int[] nums) {int[] dp = new int[nums.length];Arrays.fill(dp, 1);for(int i = 0; i < nums.length; i++){for(int j = 0; j < i; j++){if(nums[i] > nums[j]){dp[i] = Math.max(dp[i], dp[j] + 1);}}}int res = 0;for(int i = 0; i < nums.length; i++){res = Math.max(res, dp[i]);}return res; }
}
class Solution {public int findLengthOfLCIS(int[] nums) {int[] dp = new int[nums.length];Arrays.fill(dp, 1);int res = 1;for(int i = 1; i < nums.length; i++){if(nums[i] > nums[i-1]){dp[i] = Math.max(dp[i], dp[i-1] + 1);}res = Math.max(res, dp[i]);}return res;}
}
class Solution {public int findLength(int[] nums1, int[] nums2) {int res = 0;int[][] dp = new int[nums1.length+1][nums2.length+1];for(int i = 1; i <= nums1.length; i++){for(int j = 1; j <=nums2.length; j++){if(nums1[i-1] == nums2[j-1]){dp[i][j] = Math.max(dp[i][j], dp[i-1][j-1] + 1);}res = Math.max(res, dp[i][j]);}}return res;}
}