一、问题描述
Find the total area covered by two rectilinear rectangles in a 2D plane.
Each rectangle is defined by its bottom left corner and top right corner as shown in the figure.
![Rectangle Area](https://i-blog.csdnimg.cn/blog_migrate/6230037e11c8390c8b46af54cac7201a.png)
Assume that the total area is never beyond the maximum possible value of int.
二、问题分析
计算整个区域的面积,显然等于两个矩形的面积和-重合区域(当然也可能没有重合的区域)。
三、Java AC代码
public int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
int res = (D - B) * (C - A) + (G - E) * (H - F);
int A1 = Math.max(A, E), B1 = Math.max(B, F), C1 = Math.min(C, G), D1 = Math
.min(D, H);
if (A1 >= C1 || B1 >= D1) {
return res;
} else {
return res - (C1 - A1) * (D1 - B1);
}
}