【Leetcode】矩形重叠(每日一题)

题目链接:矩形重叠


题意:矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标。

如果相交的面积为正,则称两矩形重叠。需要明确的是,只在角或边接触的两个矩形不构成重叠。

给出两个矩形,判断它们是否重叠并返回结果。


题解:感觉这个题见过好多次了。。实际上是个很简单的逻辑判断题。

只需要考虑不重叠的情况就可以了。一个图形有两种情况,交换看看就可以了。

代码:

 1 class Solution {
 2 public:
 3     bool isRectangleOverlap(vector<int>& rec1, vector<int>& rec2) {
 4         int x1 = rec1[0];
 5         int y1 = rec1[1];
 6         int x2 = rec1[2];
 7         int y2 = rec1[3];
 8 
 9         int xx1 = rec2[0];
10         int yy1 = rec2[1];
11         int xx2 = rec2[2];
12         int yy2 = rec2[3];
13 
14         if(x2 <= xx1 || x1 >= xx2 || y2 <= yy1 || y1 >= yy2){
15             return false;
16         }
17         else    return true;
18     }
19 };
原文地址:https://www.cnblogs.com/Asumi/p/12521358.html