Topic links
Title Requirements:
Find the total area covered by and rectilinear rectangles in a 2D plane.
Each rectangle was defined by its bottom left corner and top right corner as shown in the figure.
Assume the total area is never beyond the maximum possible value of int.
Credits:
Special thanks to @mithmatt for adding this problem, creating the above image and all test cases.
To better illustrate the problem, here are a few diagrams specifically drawn:
The area we require = two rectangular area and-two overlapping parts.
There are four possible scenarios.
Based on the above four possible scenarios, we write the program as follows (refer to from one post):
1 classSolution {2 Public:3 intOverlaparea (intAintBintCintDintEintFintGintH)4 {5 intV1 =Max (A, E);6 intV2 =min (C, G);7 intV = v2-v1;8 9 intH1 =Max (B, F);Ten intH2 =min (D, H); One intH= H2-H1; A - if(v <=0|| H <=0) - return 0; the Else - returnV *h; - } - + intComputearea (intAintBintCintDintEintFintGintH) { - intAREA1 = (c-a) * (D-B); + intAREA2 = (g-e) * (H-F); A intOverlapregion =Overlaparea (A, B, C, D, E, F, G, H); at returnAREA1 + AREA2-overlapregion; - } -};
223--Leetcode's "mathematics": Rectangle area