Advertisement
unknown_0711

Untitled

Dec 22nd, 2022
26
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. class Solution {
  2. public int maxHeight(int[][] cuboids) {
  3. for(int[] cuboid:cuboids){
  4. Arrays.sort(cuboid);
  5. }
  6. int n=cuboids.length;
  7. Arrays.sort(cuboids,(a,b)->(a[0]==b[0]?(a[1]==b[1]?(a[2]-b[2]):a[1]-b[1]):a[0]-b[0]));
  8. int[] dp=new int[n];
  9. dp[0]=cuboids[0][2];
  10. int max=dp[0];
  11. for(int i=1;i<cuboids.length;i++){
  12. dp[i]=cuboids[i][2];
  13. for(int j=i-1;j>=0;j--){
  14. if(helper(cuboids[j],cuboids[i])){
  15. dp[i]=Math.max(dp[i],dp[j]+cuboids[i][2]);
  16. }
  17. }
  18. max=Math.max(max,dp[i]);
  19. }
  20. return max;
  21. }
  22.  
  23. public boolean helper(int[] cuboid1,int[] cuboid2){
  24. for(int i=0;i<3;i++){
  25. if(cuboid1[i]>cuboid2[i]) return false;
  26. }
  27. return true;
  28. }
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement