描述
给 nn 个信封的长度和宽度。如果信封 AA 的长和宽都小于信封 BB ,那么信封 AA 可以放到信封 BB 里,请求出信封最多可以嵌套多少层。
import java.util.*;
public class Solution {
public int maxLetters (int[][] letters) {
int n = letters.length;
if(n == 0){
return 0;
}
Arrays.sort(letters,new Comparator<int[]>(){
public int compare(int[] a, int[] b){
if(a[0] == b[0]){
return b[1] - a[1];
}else{
return a[0] - b[0];
}
}
});
int[] dp = new int[n];
int res = 1;
for(int i = 0; i < n; i++){
dp[i] = 1;
for(int j = 0; j < i; j++){
if(letters[i][1] > letters[j][1]){
dp[i] = Math.max(dp[i], dp[j] + 1);
}
}
res = Math.max(res, dp[i]);
}
return res;
}
}