题意:给出两个矩形,求其面积和
思路:两个矩形可能相交,在求相交面积时,左下角取两个矩形左下角的最大值 ,右上角取两个矩形对应坐标的最小值 ,如果求得的左下角大于右下角,说明不相交,面积为两个矩形面积之和,否则为两个矩形面积之和减去相交面积。
代码如下:
public class Solution
{
public int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
int x1 = Math.max(A, E), y1 = Math.max(B, F);
int x2 = Math.min(C, G), y2 = Math.min(D, H);
int areacross = 0;
if (x1 > x2 || y1 > y2) areacross = 0;
else areacross = (x2 - x1) * (y2 - y1);
int area1 = (C - A) * (D - B);
int area2 = (G - E) * (H - F);
return area1 + area2 - areacross;
}
}