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 之间。

x 轴默认指向右,y 轴默认指向上。

你可以仅考虑矩形是正放的情况。

来源:leetcode

链接:https://leetcode-cn.com/problems/rectangle-overlap/

思路:

假设

rec1:[0,0,2,2]->[x10,y11,x12,y13]

(x10即rec1的第1位)

rec2:[1,1,3,3]->[x20,y21,x22,y23]

列举出不匹配的情况:

x轴:x22<=x10或者x12<=x20

y轴:y11<=y23或者y21<=y13

代码

class Solution:
def isRectangleOverlap(self, rec1, rec2) -> bool:
if rec1[1]>=rec2[3] or(rec1[0]>=rec2[2] or rec2[0]>=rec1[2]):
return False
elif rec2[1]>=rec1[3] or (rec1[0]>=rec2[2] or rec2[0]>=rec1[2]):
return False
else:
return True
a=Solution()
rec1 = [0,0,2,2]
rec2 = [1,1,3,3]
print(a.isRectangleOverlap(rec1,rec2))

最新文章

  1. JS对象继承篇
  2. jQuery下的轮播
  3. intellij IDEA 出现“Usage of API documented as @since 1.6+”的解决办法
  4. [经验交流] docker in docker 的变通实现方法
  5. Maven仓库管理-Nexus
  6. CentOS更新yum源
  7. SQL Server优化技巧之SQL Server中的&quot;MapReduce&quot;
  8. apache AllowEncodedSlashes 允许URL中对路径分隔符进行编码
  9. ionic react-native和native开发移动app到底那个好
  10. YII 查找View的5种方式
  11. linux 不能用clock 计算sleep的时间
  12. 黄聪:C#如何通过MeasureString、Graphics获取字符串的像素长度
  13. 存储过程 &lt;3&gt; 和函数的区别
  14. python之数据库操作(sqlite)
  15. 【filezilla】 ubuntu下安装filezilla
  16. Android与服务器端数据交互(转)
  17. hdu_3483A Very Simple Problem(C(m,n)+快速幂矩阵)
  18. 2018-2019-2 20165235 《网络对抗技术》 Exp6 信息搜集与漏洞扫描
  19. Salesforce的公式和验证规则
  20. Volley网络通信框架

热门文章

  1. Hexo搭建总结
  2. 无线城域网 WMAN
  3. Docker 运行容器 CentOS7 使用systemctl 启动报错 Failed to get D-Bus connection: Operation not permitted
  4. Java设计模式之结构模式
  5. Spring-Boot-应用可视化监控
  6. JS面试准备二
  7. Delphi XE XML信息的读取
  8. 025.掌握Service-SVC基础使用
  9. iview的render函数使用
  10. ubunto 免输入密码 登录 putty ssh-keygen