思路
今日打卡题。给出矩形两个点的坐标,判断两个矩形是否有重叠。其实给出矩形两个点坐标相当于给出了xy的区间,比较两个矩形的xy区间值就好了。
比较的过程:取出不符合重叠标准的几种情况返回false,剩下的都true。
代码
bool isRectangleOverlap(vector<int>& rec1, vector<int>& rec2) {
int x1=rec1[0],y1=rec1[1],x2=rec1[2],y2=rec1[3];
int x3=rec2[0],y3=rec2[1],x4=rec2[2],y4=rec2[3];
if(x2<=x3||y2<=y3||x1>=x4||y4<=y1){
return false;
}
return true;
}
运行结果