(1) 模拟相交;
(2) 不要遗漏重叠的情况。
int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
int areaOfA = (C - A) * (D - B);
int areaOfB = (G - E) * (H - F);
if(A==E && B==F && C==G && D == H)
return areaOfA;
int left = max(A, E);
int right = min(C, G);
int top = min(D, H);
int bottom = max(B, F);
int overlap = 0;
if(right >= left && top >= bottom)
overlap = (right - left) * (top - bottom);
return areaOfA + areaOfB - overlap;
}