ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

836. 矩形重叠

2020-03-18 12:01:41  阅读:260  来源: 互联网

标签:矩形 836 重叠 坐标轴 坐标 rec2 rec1


矩形以列表 [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 之间。

 

思路:

将两个矩形投影到坐标轴上,从而将二维的矩形重叠问题转换成一维的坐标轴重叠问题。坐标轴区间不重叠只有两种情况,在x轴上,左边矩形最右边小于右边矩形最左边;在y轴上,上边矩形最下边大于下边矩形最上边。写出区间不重叠的两种情况,取反则得到矩形重叠的四种情况的解。

答案:

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]);     } }

标签:矩形,836,重叠,坐标轴,坐标,rec2,rec1
来源: https://www.cnblogs.com/zccfrancis/p/12516497.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有