[LeetCode] Rectangle Area


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

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 };

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM