相关题目:
解题思路:
AB,CD直线相交有两种情况,不过我们可以用一个等式进行表达 int t=max(B,D)-min(A,C);当t<0的时候不存在交集。求矩形的交集也与之类似。
相关代码:
class Solution {
public:
int computeArea(int ax1, int ay1, int ax2, int ay2, int bx1, int by1, int bx2, int by2) {
int s1=(ax2-ax1)*(ay2-ay1);
int s2=(bx2-bx1)*(by2-by1);
int a=min(ax2,bx2)-max(ax1,bx1),b=min(ay2,by2)-max(ay1,by1);
if(a<0||b<0){
return s1+s2;
}
else{
return s1+s2-a*b;
}
}
};