当前位置: 首页 > news >正文

leetcode:1582. 二进制矩阵中的特殊位置(python3解法)

难度:简单

        给定一个 m x n 的二进制矩阵 mat,返回矩阵 mat 中特殊位置的数量。

        如果位置 (i, j) 满足 mat[i][j] == 1 并且行 i 与列 j 中的所有其他元素都是 0(行和列的下标从 开始计数),那么它被称为 特殊 位置。

示例 1:

输入:mat = [[1,0,0],[0,0,1],[1,0,0]]
输出:1
解释:位置 (1, 2) 是一个特殊位置,因为 mat[1][2] == 1 且第 1 行和第 2 列的其他所有元素都是 0。

示例 2:

输入:mat = [[1,0,0],[0,1,0],[0,0,1]]
输出:3
解释:位置 (0, 0),(1, 1) 和 (2, 2) 都是特殊位置。

提示:

  • m == mat.length
  • n == mat[i].length
  • 1 <= m, n <= 100
  • mat[i][j] 是 0 或 1

题解:

class Solution:
    def numSpecial(self, mat: List[List[int]]) -> int:
        m = len(mat)  # 行数  
        n = len(mat[0])  # 列数  
        res = 0  
        for i in range(m):  
            if sum(mat[i]) == 1:  # 检查当前行是否只有一个1  
                for j in range(n):  
                    if mat[i][j] == 1:  # 找到这个1的位置  
                        # 检查当前列是否只有一个1  
                        col_sum = 0  
                        for k in range(m):  
                            col_sum += mat[k][j]  
                        if col_sum == 1:  # 如果列的和也是1,说明是特殊位置  
                            res += 1  
        return res

        

http://www.dtcms.com/a/103593.html

相关文章:

  • Spring Boot和Django的区别
  • 一.搭建ubuntu系统服务器
  • Zcanpro搭配USBCANFD-200U在新能源汽车研发测试中的应用指南(周立功/致远电子)
  • Ubuntu 22.04 LTS 推荐安装哪一个版本
  • 51 驱动 INA219 电流电压功率测量
  • 本周大模型新动向!即插即用知识模块,人机交互新趋势,检索增强技术深度解析
  • 微信小程序:解决tabbar切换时,页面不刷新问题
  • 卸载和重装Git后,如何正常恢复和使用本地仓库通常存储在项目?
  • Vue Router 实现动态路由的前端操作解析
  • DRM_CLIENT_CAP_UNIVERSAL_PLANES和DRM_CLIENT_CAP_ATOMIC
  • Sentinel[超详细讲解]-1
  • android常用资料
  • 1Panel MCP Server发布,开启AI对话式运维新时代!
  • 基于Hbuilder X的uni-app连接OneNET云平台及AI交互 实战指南(二)——获取数据流模型的数据
  • 算法 | 蜘蛛蜂优化算法原理,公式,应用,算法改进研究综述,matlab代码
  • MyBatis实战笔记
  • MapReduce 的工作原理
  • Electron 开发:获取当前客户端 IP
  • kotlin扩展函数的实现原理
  • 环境 tensorflow ERROR: No matching distribution found for ai-edge-litert
  • 【LeetCode基础算法】链表所有类型
  • 学透Spring Boot — 007. 加载配置
  • 【模拟CMOS集成电路笔记】轨到轨运放(Rail to Rail)基础(附带实例:基于1:3电流镜的轨到轨输入运放)
  • c++绘制爱心[特殊字符] 安装 EasyX 库
  • scala-stwitch分支结构
  • 【从0到1学Docker】Docker学习笔记
  • Java常用工具算法-1--哈希算法(MD5,SHA家族,SHA-256,BLAKE2)
  • 3万字长文详解Android AIDL 接口设计
  • 1.oracle修改配置文件
  • 区间预测 | MATLAB实现QRBiGRU门控循环单元分位数回归时间序列区间预测