思路:
ans = 2个矩形面积 - 重合部分面积;
c++ code:
class Solution {
public:
int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
//two rectangle area
int res = (C - A) * (D - B) + (G - E) * (H - F);
//left corner : AB EF
int lx = max(A, E);
int ly = max(B, F);
//right corner : CD GH
int rx = min(C, G);
int ry = min(D, H);
//total area
if(rx > lx && ry > ly) {
return res - (ry - ly) * (rx - lx);
}else {
return res;
}
}
};