Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public int maxEnvelopes(int[][] envelopes) {
- Arrays.sort(envelopes, (a, b) -> Integer.compare(a[0] * a[1], b[0] * b[1]));
- int n = envelopes.length;
- int[] lip = new int[n];
- int ans = Integer.MIN_VALUE;
- for (int i = 0; i < n; i++) {
- lip[i] = 1;
- for (int j = 0; j < i; j++) {
- if (envelopes[i][0] > envelopes[j][0] && envelopes[i][1] > envelopes[j][1]) {
- lip[i] = Math.max(lip[i], 1 + lip[j]);
- }
- }
- ans = Math.max(ans, lip[i]);
- }
- return ans;
- }
Advertisement
Add Comment
Please, Sign In to add comment