[LeetCode] Rectangle Area
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.
![Rectangle Area](https://leetcode.com/static/images/problemset/rectangle_area.png)
Assume that 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.
数学题,求矩形覆盖面积。因为只有两个矩形,所以直接算结果 = 两个矩形的面积 - 相交的面积。估计下一道题就会是求多个矩形的覆盖面积了吧。
1 class Solution { 2 public: 3 int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) { 4 int res = (D - B) * (C - A) + (H - F) * (G - E); 5 int A1 = max(A, E), B1 = max(B, F), C1 = min(C, G), D1 = min(D, H); 6 if (D1 <= B1 || C1 <= A1) return res; 7 return res - (D1 - B1) * (C1 - A1); 8 } 9 };