Leecode 836. 矩形重叠最简单易懂的一个思想

简介: Leecode 836. 矩形重叠最简单易懂的一个思想

题目描述:

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

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

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

示例 1:

输入:rec1 = [0,0,2,2], rec2 = [1,1,3,3]

输出:true

示例 2:

输入:rec1 = [0,0,1,1], rec2 = [1,0,2,1]

输出:false

说明:

两个矩形 rec1 和 rec2 都以含有四个整数的列表的形式给出。

矩形中的所有坐标都处于 -10^9 和 10^9 之间。

解题思想:这个题涉及到了简单的几何知识,我们可以用这种思维:要想两个矩形不重叠,那么必定有一个矩形会在另外一个矩形的右边,此时的边界就是左边矩形右上角的坐标的横坐标要比右边矩形左下角的横坐标要小于或者等于即

rec1[2] <= rec2[0] || rec2[2] <= rec2[0]。同理纵坐标也可以同样比较这样子我们只需要比较四组数字就可以了,很简单的就完成了这个题
class Solution {
    public boolean isRectangleOverlap(int[] rec1, int[] rec2) {
        return !(rec1[2] <= rec2[0] || rec2[2] <= rec1[0] || rec1[3] <= rec2[1] || rec2[3] <= rec1[1]);
    }
}


相关文章
|
6月前
|
算法 vr&ar 图形学
☆打卡算法☆LeetCode 223. 矩形面积 算法解析
☆打卡算法☆LeetCode 223. 矩形面积 算法解析
|
6月前
|
算法 vr&ar 图形学
☆打卡算法☆LeetCode 221. 最大正方形 算法解析
☆打卡算法☆LeetCode 221. 最大正方形 算法解析
|
6月前
|
算法 vr&ar 图形学
☆打卡算法☆LeetCode 149. 直线上最多的点数 算法解析
☆打卡算法☆LeetCode 149. 直线上最多的点数 算法解析
|
算法 Java 索引
单元格法近似求解多边形最大内接矩形问题【思路讲解+java实现】
单元格法近似求解多边形最大内接矩形问题【思路讲解+java实现】
219 0
C++ 绘制圣诞树 (找规律 多层循环)
C++ 绘制圣诞树 (找规律 多层循环)
621 0
|
存储 算法
数据结构上机实践第四周项目7 - 多项式求和
数据结构上机实践第四周项目7 - 多项式求和
151 0
数据结构上机实践第四周项目7 - 多项式求和
|
算法
判断三角形的性质(直角或等腰)简便算法
判断三角形的性质(直角或等腰)简便算法
133 0
|
算法
【算法竞赛进阶指南】車的放置(行列模型二分图最大匹配+匈牙利算法)
【算法竞赛进阶指南】車的放置(行列模型二分图最大匹配+匈牙利算法)
93 0
|
算法 Python
递归算法的典型程序,分形树的绘制和汉诺塔的问题解决。
在程序中,程序自身调用自身的这种技巧称为递归。我们来通俗的讲一下递归,从前有座山,山里有座庙,庙里有个和尚,和尚在讲故事,从前有座山,山里有座庙,庙里有个和尚,和尚在讲故事,从前有座山…我们小时候应该都听过这样的故事,大家想想,这个故事如果以 我们程序的思维来看是不是递归?当然,这的确很想递归,因为老和尚在一直讲故事,这就像在调用自身老和尚讲故事这个函数,但我要告诉大家的是,
235 0
递归算法的典型程序,分形树的绘制和汉诺塔的问题解决。
☆打卡算法☆LeetCode 6、Z字形变换 算法解析
“将给定的字符串以给定的行数记性Z字形排列。”