0223. Rectangle Area
https://leetcode.com/problems/rectangle-area
Description
Given the coordinates of two rectilinear rectangles in a 2D plane, return the total area covered by the two rectangles.
The first rectangle is defined by its bottom-left corner (ax1, ay1)
and its top-right corner (ax2, ay2)
.
The second rectangle is defined by its bottom-left corner (bx1, by1)
and its top-right corner (bx2, by2)
.
Example 1:

**Input:** ax1 = -3, ay1 = 0, ax2 = 3, ay2 = 4, bx1 = 0, by1 = -1, bx2 = 9, by2 = 2
**Output:** 45
Example 2:
**Input:** ax1 = -2, ay1 = -2, ax2 = 2, ay2 = 2, bx1 = -2, by1 = -2, bx2 = 2, by2 = 2
**Output:** 16
Constraints:
-104 <= ax1, ay1, ax2, ay2, bx1, by1, bx2, by2 <= 104
ac
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);
// 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
**/
Last updated
Was this helpful?