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.
Assume that the total area is never beyond the maximum possible value of int.
解決方法:
一道數學題,通過上圖理解題意,然後計算面積即可。
代碼:
int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
int areaA = (C-A) * (D-B);
int areaB = (G-E) * (H-F);
int coveredArea = 0;
if ( !(E >= C || G <=A || H <= B || F >= D) ){
coveredArea = ( min(C,G) - max(A,E) ) * ( min(D,H) - max(B,F) );
}
return areaA + areaB - coveredArea;
}