【3月打卡】Leetcode-836 矩形重疊

反證

不重疊的情況:矩陣A在矩陣B的
rec1[3]<=rec2[1]:上
rec2[3]<=rec1[1]:下
rec1[2]<=rec2[0]:左
rec2[2]<=rec1[0]:右

class Solution {
public:
    bool isRectangleOverlap(vector<int>& rec1, vector<int>& rec2) {
         if(rec1[2]<=rec2[0]||rec2[2]<=rec1[0]||rec1[3]<=rec2[1]||rec2[3]<=rec1[1])
             return false;
         return true;
    }
};

正向考慮重疊

矩形重疊意味着兩個矩形在x軸和y軸的投影上均有交集

class Solution {
public:
    bool isRectangleOverlap(vector<int>& rec1, vector<int>& rec2) {
        return(min(rec1[2],rec2[2])>max(rec1[0],rec2[0])&&
            min(rec1[3],rec2[3])>max(rec1[1],rec2[1]));
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章