LeetCode | 0836. Rectangle Overlap矩形重叠【Python】
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了LeetCode | 0836. Rectangle Overlap矩形重叠【Python】,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1694字,纯文字阅读大概需要3分钟。
内容图文
![LeetCode | 0836. Rectangle Overlap矩形重叠【Python】](/upload/InfoBanner/zyjiaocheng/638/85fc2f4d43084996ba5148203eea35a2.jpg)
LeetCode 0836. Rectangle Overlap矩形重叠【Easy】【Python】【数学】
Problem
A rectangle is represented as a list [x1, y1, x2, y2]
, where (x1, y1)
are the coordinates of its bottom-left corner, and (x2, y2)
are the coordinates of its top-right corner.
Two rectangles overlap if the area of their intersection is positive. To be clear, two rectangles that only touch at the corner or edges do not overlap.
Given two (axis-aligned) rectangles, return whether they overlap.
Example 1:
Input: rec1 = [0,0,2,2], rec2 = [1,1,3,3]
Output: true
Example 2:
Input: rec1 = [0,0,1,1], rec2 = [1,0,2,1]
Output: false
Notes:
- Both rectangles
rec1
andrec2
are lists of 4 integers. - All coordinates in rectangles will be between
-10^9
and10^9
.
问题
矩形以列表 [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
轴默认指向上。- 你可以仅考虑矩形是正放的情况。
思路
数学
rec1 = [x1, y1, x2, y2], rec2 = [x3, y3, x4, y4]
max(x1, x3) < x < min(x2, x4)
max(y1, y3) < y < min(y2, y4)
Python3代码
class Solution:
def isRectangleOverlap(self, rec1: List[int], rec2: List[int]) -> bool:
# 左下角取 max
x1 = max(rec1[0], rec2[0])
y1 = max(rec1[1], rec2[1])
# 右上角取 min
x2 = min(rec1[2], rec2[2])
y2 = min(rec1[3], rec2[3])
# 判断是否重叠
if x1 < x2 and y1 < y2:
return True
else:
return False
代码地址
内容总结
以上是互联网集市为您收集整理的LeetCode | 0836. Rectangle Overlap矩形重叠【Python】全部内容,希望文章能够帮你解决LeetCode | 0836. Rectangle Overlap矩形重叠【Python】所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。