本文共 822 字,大约阅读时间需要 2 分钟。
写一个方法做上述判断,可以很快求出两个矩形交集的height和width
// ACclass Solution {public: int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) { int AreaA = (C-A) * (D-B); int AreaB = (G-E) * (H-F); int intersectionWidth = getIntersection(A, C, E, G); int intersectionHeight = getIntersection(B, D, F, H); return AreaA + AreaB - intersectionWidth * intersectionHeight; } int getIntersection(int A, int B, int C, int D){ int ret = 0; if (C >= A && C <= B){ ret = min(B-C, D-C); }else if (D >= A && D <= B){ ret = D - A; }else if (C < A && D > B){ ret = B - A; } return ret; }};
转载地址:http://kjpbb.baihongyu.com/