首页 > 试题广场 >

矩形重叠

[编程题]矩形重叠
  • 热度指数:1042 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定两个矩形,分别以四个数字 [x1,y1,x2,y2] 表示,其中 (x1,y1) 表示矩形左下角,(x2,y2) 表示矩形右上角,矩形的上下边平行于 x 轴,左右边平行于 y 轴。
如果两个矩形相交的面积为正,则两矩形重叠。如果重叠则输出 true ,否则输出 false

数据范围:矩形的四个角坐标满足
示例1

输入

[0,0,2,2],[2,2,4,4]

输出

false
示例2

输入

[0,0,2,2],[1,1,3,3]

输出

true
头像 牛客82035003号
发表于 2022-04-13 20:43:18
重叠的情况比较多,这里用反向的排除法,画图更好理解: 用一个矩形的下边缘和另一个矩形的上边缘比较,下边缘比上边缘还高或重叠,则比无正相交。 同理,用一个矩形的右边缘和另一个矩形的左边缘比较,左边缘在右边缘的右边或重叠,则必无正相交部分。 其他情况就可能相交 #include&l 展开全文
头像 君无颜
发表于 2022-03-28 00:22:02
题目: 给定两个矩形,分别以四个数字 [x1,y1,x2,y2] 表示,其中 (x1,y1) 表示矩形左下角,(x2,y2) 表示矩形右上角(题目这里写错了,两个下角是无法确定一个矩形的),矩形的上下边平行于 x 轴,左右边平行于 y 轴。 如果两个矩形相交的面积为正,则两矩形重叠。如果重叠则输出 展开全文
头像 JavaGPT
发表于 2023-02-16 11:20:35
两个矩形相交的情况有很多种,可以采用排除法,先列举出不相交的情况,然后对其结果取反就可以得到结果了。不相交的一共有四种情况,第二个矩阵在第一个矩阵的右上角、右下角、左下角、左上角,这样子就可以得到正确的结果了。
头像 何成95
发表于 2025-12-09 14:58:35
题目:给定两个矩形,分别以四个数字 [x1,y1,x2,y2] 表示,其中 (x1,y1) 表示矩形左下角,(x2,y2) 表示矩形右上角(题目这里写错了,两个下角是无法确定一个矩形的),矩形的上下边平行于 x 轴,左右边平行于 y 轴。 如果两个矩形相交的面积为正,则两矩形重叠。如果重叠则输出 t 展开全文
头像 姐姐的遮阳伞
发表于 2022-04-06 21:10:26
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param r1 int整型ArrayList * 展开全文
头像 终将成为大佬
发表于 2024-03-21 17:09:32
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param r1 int整型vector * @param r2 int整型vector 展开全文