解题思路:
其实总面积是便是area1和area2面积之和减去重叠部分,两个矩形面积很好计算,重叠部分需要利用位置关系进行计算,得到其长宽即可,代码如下:
class Solution {
public:
int computeArea(int ax1, int ay1, int ax2, int ay2, int bx1, int by1, int bx2, int by2) {
int area1 = (ax2 - ax1) * (ay2 - ay1);
int area2 = (bx2 - bx1) * (by2 - by1);
int width = min(ax2, bx2) - max(ax1, bx1);
int height = min(ay2, by2) - max(ay1, by1);
int overlap = max(width, 0) * max(height, 0);
return area1 - overlap + area2;
}
};