LeetCode之Rectangle Area

/*根據題意,兩種情況:
1)兩個矩形不相交,直接返回兩個矩形的面積之和;
2)兩個矩形相交,返回兩個矩形面積之和與交集的面積差。*/
class Solution {
public:
    int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
        int area0 = (C-A) * (D-B), area1 = (G-E)*(H-F);
        if(E >= C || A >= G || B >= H || F >= D) return area0 + area1;
        int x0 = max(A, E), x1 = min(C, G);
        int y0 = max(B, F), y1 = min(D, H);
        int delta = (x1-x0) * (y1-y0);
        return area0 + area1 - delta;
    }
};

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章