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

LeetCode 2125.银行中的激光束数量

银行内部的防盗安全装置已经激活。给你一个下标从 0 开始的二进制字符串数组 bank ,表示银行的平面图,这是一个大小为 m x n 的二维矩阵。 bank[i] 表示第 i 行的设备分布,由若干 ‘0’ 和若干 ‘1’ 组成。‘0’ 表示单元格是空的,而 ‘1’ 表示单元格有一个安全设备。

对任意两个安全设备而言,如果同时 满足下面两个条件,则二者之间存在 一个 激光束:

两个设备位于两个 不同行 :r1 和 r2 ,其中 r1 < r2 。
满足 r1 < i < r2 的 所有 行 i ,都 没有安全设备 。
激光束是独立的,也就是说,一个激光束既不会干扰另一个激光束,也不会与另一个激光束合并成一束。

返回银行中激光束的总数量。

示例 1:
在这里插入图片描述

输入:bank = [“011001”,“000000”,“010100”,“001000”]
输出:8
解释:在下面每组设备对之间,存在一条激光束。总共是 8 条激光束:

  • bank[0][1] – bank[2][1]
  • bank[0][1] – bank[2][3]
  • bank[0][2] – bank[2][1]
  • bank[0][2] – bank[2][3]
  • bank[0][5] – bank[2][1]
  • bank[0][5] – bank[2][3]
  • bank[2][1] – bank[3][2]
  • bank[2][3] – bank[3][2]
    注意,第 0 行和第 3 行上的设备之间不存在激光束。
    这是因为第 2 行存在安全设备,这不满足第 2 个条件。
    示例 2:
    在这里插入图片描述

输入:bank = [“000”,“111”,“000”]
输出:0
解释:不存在两个位于不同行的设备

提示:

m == bank.length
n == bank[i].length
1 <= m, n <= 500
bank[i][j] 为 ‘0’ 或 ‘1’

直接模拟即可:

class Solution {
public:int numberOfBeams(vector<string>& bank) {int ans = 0;int last = 0;for (string &row : bank){int deviceNum = count(row.begin(), row.end(), '1');if (deviceNum == 0){continue;}ans += deviceNum * last;last = deviceNum;}return ans;}
};
http://www.lryc.cn/news/307877.html

相关文章:

  • 【探索AI】Sora - 探索AI视频模型的无限可能
  • NGINX的重写与反向代理机制解析
  • JVM的深入理解
  • JavaWeb——007MYSQL(DQL多表设计)
  • 深度学习500问——Chapter01:数学基础
  • day03_登录注销(前端接入登录,异常处理, 图片验证码,获取用户信息接口,退出功能)
  • k8s初始化报错 [ERROR CRI]: container runtime is not running: ......
  • vscode windows 免密登录 powershell.sh
  • 10 种3D 建模技术
  • 常见的socket函数封装和多进程和多线程实现服务器并发
  • Tomcat架构分析
  • 旧项目集成阿里云滑动验证码(web和H5方式)
  • 机器人内部传感器阅读梳理及心得-速度传感器-数字式速度传感器
  • 【vue+element ui】大屏自适应中el-select下拉内容在低分辨率下显示不全问题解决
  • 前端架构: 脚手架之多package项目管理和架构
  • 【C# 多线程】如何停止正在运行中的子线程
  • 服务器机房安全守护:五大物理安全实践
  • spring boot 修复 Spring Framework URL解析不当漏洞(CVE-2024-22243)
  • VR全景HDR拍摄教程
  • hive执行select count(1)返回0
  • 3D Gaussian splatting 协方差矩阵 球谐函数 简单理解
  • 代码随想录算法刷题训练营day27:LeetCode(39)组合总和、LeetCode(40)组合总和 II、LeetCode(131)分割回文串
  • docker 容器修改端口和目录映射
  • echarts鼠标事件
  • 【北京迅为】《iTOP-3588开发板网络环境配置手册》第2章 电脑、开发板直连交换机或路由器
  • 6.5 共享数据
  • SpringBoot之Session新增、删除、获取配置与使用
  • Hive UDF 札记
  • npm已经配置淘宝源仍然无法使用
  • Qt5转Qt6笔记