Python | Leetcode Python题解之第391题完美矩形

题目:

题解:

python 复制代码
class Solution:
    def isRectangleCover(self, rectangles: List[List[int]]) -> bool:
        area, minX, minY, maxX, maxY = 0, rectangles[0][0], rectangles[0][1], rectangles[0][2], rectangles[0][3]
        cnt = defaultdict(int)
        for rect in rectangles:
            x, y, a, b = rect[0], rect[1], rect[2], rect[3]
            area += (a - x) * (b - y)

            minX = min(minX, x)
            minY = min(minY, y)
            maxX = max(maxX, a)
            maxY = max(maxY, b)

            cnt[(x, y)] += 1
            cnt[(x, b)] += 1
            cnt[(a, y)] += 1
            cnt[(a, b)] += 1

        if area != (maxX - minX) * (maxY - minY) or cnt[(minX, minY)] != 1 or cnt[(minX, maxY)] != 1 or cnt[(maxX, minY)] != 1 or cnt[(maxX, maxY)] != 1:
            return False

        del cnt[(minX, minY)], cnt[(minX, maxY)], cnt[(maxX, minY)], cnt[(maxX, maxY)]

        return all(c == 2 or c == 4 for c in cnt.values())
相关推荐
张李浩5 小时前
Leetcode 054螺旋矩阵 采用方向数组解决
算法·leetcode·矩阵
xixihaha13246 小时前
将Python Web应用部署到服务器(Docker + Nginx)
jvm·数据库·python
big_rabbit05026 小时前
[算法][力扣101]对称二叉树
数据结构·算法·leetcode
xixihaha13246 小时前
Python游戏中的碰撞检测实现
jvm·数据库·python
ID_180079054737 小时前
模拟1688商品详情的Python API实现,返回符合风格的JSON数据
开发语言·python·json
程序员小远7 小时前
软件测试之功能测试详解
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
我的xiaodoujiao7 小时前
API接口自动化测试详细图文教程学习系列1--序章
python·学习·pytest
ZhengEnCi7 小时前
P1B-Python环境配置基础完全指南-Windows系统安装与验证
python
m0_716667078 小时前
NumPy入门:高性能科学计算的基础
jvm·数据库·python
带娃的IT创业者8 小时前
Weclaw 请求路由实战:一个 request_id 如何在 800 个并发连接中精准找到目标浏览器?
python·websocket·fastapi·架构设计·实时通信·openclaw·weclaw