力扣刷题:矩阵重叠

题目:

矩形以列表 x1, y1, x2, y2 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标。矩形的上下边平行于 x 轴,左右边平行于 y 轴。

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

给出两个矩形 rec1 和 rec2 。如果它们重叠,返回 true;否则,返回 false 。

示例 1:

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

输出:true

示例 2:

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

输出:false

示例 3:

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

输出:false

解析:

矩形重叠的条件是:

矩形1的左边缘在矩形2的右边缘的左边

rec10 < rec22

矩形1的右边缘在矩形2的左边缘的右边

rec12 > rec20

矩形1的下边缘在矩形2的上边缘的下边

rec11 < rec23

矩形1的上边缘在矩形2的下边缘的上边

rec13 > rec21

所有这四个条件必须同时满足,矩形才会重叠。

具体代码:

javascript 复制代码
/**
 * @param {number[]} rec1
 * @param {number[]} rec2
 * @return {boolean}
 */
var isRectangleOverlap = function(rec1, rec2) {
    if(rec1[0]<rec2[2] && rec1[1]<rec2[3] && rec1[2]>rec2[0] && rec1[3]>rec2[1]){
        return true
    }else {
        return false
    }
};
相关推荐
JAVA面经实录9176 小时前
Java 数据结构与算法 (终极完整学习文档)
java·数据结构·算法
开源Z8 小时前
LeetCode 42 · 接雨水:从暴力到双指针的三步优化
算法·leetcode
旖-旎8 小时前
《LeetCode 695 岛屿的最大面积 FloodFill DFS 解法》
c++·算法·力扣·深度优先遍历·floodfill
syagain_zsx9 小时前
STL 之 vector 讲练结合
c++·算法
MartinYeung510 小时前
[论文学习]DP2Unlearning:高效且具保证的大型语言模型遗忘框架(基于差分隐私的 LLM Unlearning 方法)
学习·算法·语言模型
Tian_Hang10 小时前
C++原型模式(Protype)
开发语言·c++·算法
bIo7lyA8v10 小时前
算法复杂度的渐进分析与实际运行时间的差异的技术8
算法
yuan1999711 小时前
欧拉梁静力与屈曲计算的 MATLAB 实现(有限差分法 + 解析解)
开发语言·算法·matlab
汉克老师12 小时前
GESP7级C++考试语法知识(二、指数函数(3、综合练习)
c++·算法·数学建模·指数函数·gesp7级·复利