leetcode 836. 矩形重叠

2020-03-18  本文已影响0人  fanchuang

补充: 这道题如果用平移法,应该也是可以做的,个人猜测应该会更复杂一些。

class Solution:
    def isRectangleOverlap(self, rec1: List[int], rec2: List[int]) -> bool:
        # 这里的逻辑是没有问题的。
        # 问题出现在如何确定哪个矩形在上,哪个矩形在下。

        # 这样排序之后只能分出上下,不能分出左右 
        rec1, rec2 = sorted([rec1, rec2], key=lambda x: (x[3]))
        # print(rec1, rec2)

        # 因此需要按照左右来分情况。。。
        if rec1[2] < rec2[2]:
            # print("hello")
            return rec1[2] > rec2[0] and rec1[3] > rec2[1]
        else:
            # print("hi")
            return rec2[2] > rec1[0] and rec2[1] < rec1[3]
上一篇下一篇

猜你喜欢

热点阅读