思路:
主要是中间交集的部分不容易处理,如果没有相交就取0。
代码:
class Solution {
public:
int computeArea(int ax1, int ay1, int ax2, int ay2, int bx1, int by1, int bx2, int by2) {
typedef long long LL;
//没有交集取0
LL x = max(0,min(ax2,bx2) - max(ax1,bx1));
LL y = max(0,min(ay2,by2) - max(ay1,by1));
return (bx2 - bx1) * (by2 - by1) - x * y + (ax2 -ax1) * (ay2 - ay1);
}
};
评论区