0223. Rectangle Area
Last updated
Last updated
**Input:** ax1 = -3, ay1 = 0, ax2 = 3, ay2 = 4, bx1 = 0, by1 = -1, bx2 = 9, by2 = 2
**Output:** 45**Input:** ax1 = -2, ay1 = -2, ax2 = 2, ay2 = 2, bx1 = -2, by1 = -2, bx2 = 2, by2 = 2
**Output:** 16class 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);
// overlap?
int left2 = Math.max(A, E);
int right1 = Math.min(C, G);
int bottom2 = Math.max(B, F);
int top1 = Math.min(D, H);
int overlap = 0;
if (left2 < right1 && bottom2 < top1) {
overlap = (right1 - left2) * (top1 - bottom2);
}
return area1 + area2 - overlap;
}
}
/**
1. area of 2 rectangles
2. area of overlap section
**/