1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| class Solution { public int findLongestChain(int[][] pairs) { Arrays.sort(pairs, Comparator.comparingInt(o -> o[0]));
int maxLength = 1; int[] dp = new int[pairs.length]; Arrays.fill(dp, 1);
for (int i = 1; i < pairs.length; i++) { for (int j = 0; j < i; j++) { if (pairs[j][1] < pairs[i][0]) { dp[i] = Math.max(dp[i], dp[j] + 1); } }
maxLength = Math.max(maxLength, dp[i]); }
return maxLength; } }
|
References
646. Maximum Length of Pair Chain