美文网首页
leetcode 836. 矩形重叠

leetcode 836. 矩形重叠

作者: fanchuang | 来源:发表于2020-03-18 11:49 被阅读0次

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

    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]
    

    相关文章

      网友评论

          本文标题:leetcode 836. 矩形重叠

          本文链接:https://www.haomeiwen.com/subject/xveqyhtx.html