/*根据题意,两种情况:
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;
}
};LeetCode之Rectangle Area
最新推荐文章于 2019-12-17 20:06:59 发布
本文介绍了一种计算两个矩形交并面积的方法。针对两种情况:不相交时直接求和,相交时计算交集面积进行差值运算。通过C++实现算法,并提供完整代码。
135

被折叠的 条评论
为什么被折叠?



