欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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轴投影为正
    }

 

相关标签: 图形