public class Solution {
public int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
int area1 = (C-A) * (D-B);
int area2 = (G-E) * (H-F);
if(A >= G || F >= D || C <= E || B >= H) {
return area1 + area2;
}
int x = Math.min(D, H) - Math.max(B, F);
int y = Math.min(C, G) - Math.max(A, E);
return area1 + area2 - x*y;
}
}
public class Solution { public int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) { int area1 = (C-A) * (D-B); int area2 = (G-E) * (H-F); if(A >= G || F >= D || C <= E || B >= H) { return area1 + area2; } int x = Math.min(D, H) - Math.max(B, F); int y = Math.min(C, G) - Math.max(A, E); return area1 + area2 - x*y; } }