Leetcode 233/836 两个矩阵的重叠面积

一般,这种几何的题目,在面试中不会出现。用来拓展思维。 

Leetcode 233/836 两个矩阵的重叠面积_第1张图片

typedef long long LL;
class Solution {
public:
    int computeArea(LL A, LL B, LL C, LL D, LL E, LL F, LL G, LL H) {
        LL X = max(0ll, min(C, G) - max(A, E));
        LL Y = max(0ll, min(D, H) - max(B, F));
        return (C - A) * (D - B) + (G - E) * (H - F) - X * Y;
    }
};

 

Leetcode 836 判断矩形是否相交

class Solution {
public:
    bool isRectangleOverlap(vector& rec1, vector& rec2) {
        int x = max(0,min(rec1[2],rec2[2])-max(rec1[0],rec2[0]));
        int y = max(0,min(rec1[3],rec2[3])-max(rec1[1],rec2[1]));
        return x!=0&&y!=0;
    }
};

 

你可能感兴趣的:(算法)