836. 矩形重叠【力扣】
程序员文章站
2022-03-13 10:54:34
...
题意理解
给定两个矩形坐标,求是否重叠
问题分析
反求:什么时候不重叠,第一个矩阵在第二个矩阵左边,上边,右边,或者下边,其他时候都重叠
投影:若重叠,重叠矩阵在x轴上为正,在y轴上为正
其他
链接
方法1
bool isRectangleOverlap(vector<int>& rec1, vector<int>& rec2) {
if(rec1[2] <= rec2[0] || //left
rec1[1] >= rec2[3] || //top
rec1[0] >= rec2[2] || //right
rec1[3] <= rec2[1]) { //bottom
return false;
}
return true;
}
bool isRectangleOverlap(vector<int>& rec1, vector<int>& rec2) {
return min(rec1[2],rec2[2]) > max(rec1[0],rec2[0]) && //重叠面积在x轴投影为正
min(rec1[3],rec2[3]) > max(rec1[1],rec2[1]); //在y轴投影为正
}
上一篇: 快速找到lib文件名
下一篇: 在屏幕上输出图案