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

T2 小美的平衡矩阵(25分) - 美团编程题 题解

考试平台: 牛客网

题目类型: 30道单选题(60分)+ 2 道编程题 (15分 + 25分)

考试时间: 2024-03-09 (两小时)

题目描述

小美拿到了一个n*n的矩阵,其中每个元素是 0 或者 1。
小美认为一个矩形区域是完美的,当且仅当该区域内 0 的数量恰好等于 1 的数量。
现在,小美希望你回答有多少个i*i的完美矩形区域。你需要回答 1 ≤ i ≤ n 1\leq i \leq n 1in的所有答案。

输入描述

第一行输入一个正整数n ,代表矩阵大小。
接下来的n行,每行输入一个长度为n的 01 串,用来表示矩阵。
1 ≤ n ≤ 200 1\leq n \leq 200 1n200

输出描述

输出n行,第i行输出 i*i的完美矩形区域的数量。

示例

输入:
4
1010
0101
1100
0011输出:
0
7
0
1

题解

暴力枚举所有情况, 在暴力枚举的情况下使用前缀和优化检验 “是否是完美矩形区域” 的方法。

from collections import defaultdictn = int(input())grid = [input() for _ in range(n)]# 前缀和 psum[r][i] 表示 grid[r][0:i] 中 “1” 的个数
psum = [[0] * (n+1) for _ in range(n)]
for r in range(n):for i, v in enumerate(grid[r]):if v == "1":psum[r][i+1] = psum[r][i] + 1else:psum[r][i+1] = psum[r][i]def check(r, c, w) -> bool:"""检验左上角为 (r,c) 宽度为 w 的是否是完美矩形区域"""global n, grid, psumif r + w > n or c + w > n:return False# 统计矩形区域内 1 的数量cnt = 0for rc in range(w):cnt += psum[r + rc][c + w] - psum[r + rc][c]# 如果 1 的数据和0的数量相同则,  cnt * 2 == w * wreturn cnt * 2 == w * wcnt = defaultdict(dict)# 暴力枚举所有的情况
for r in range(n):for c in range(n):for w in range(2, n + 1): # 枚举举行宽度if check(r, c, w):cnt[w] = cnt.get(w, 0) + 1# 打印结果输出
for i in range(1, n + 1):print(cnt.get(i, 0))

相关文章:

T2 小美的平衡矩阵(25分) - 美团编程题 题解

考试平台: 牛客网 题目类型: 30道单选题(60分) 2 道编程题 (15分 25分) 考试时间: 2024-03-09 (两小时) 题目描述 小美拿到了一个n*n的矩阵,其中每个元素是…...

13:大数据与Hadoop|分布式文件系统|分布式Hadoop集群

大数据与Hadoop|分布式文件系统|分布式Hadoop集群 Hadoop部署Hadoop HDFS分布式文件系统HDFS部署步骤一:环境准备HDFS配置文件 查官方手册配置Hadoop集群 日志与排错 mapreduce 分布式离线计算框架YARN集群资源管理系统步骤一:安装…...

前端知识点、技巧、webpack、性能优化(持续更新~)

1、 请求太多 页面加载慢 (webpack性能优化) 可以把 图片转换成 base64 放在src里面 减少服务器请求 但是图片会稍微大一点点 以上的方法不需要一个一个自己转化 可以在webpack 进行 性能优化 (官网有详细描述)...

红队专题-开源漏扫-巡风xunfeng源码剖析与应用

开源漏扫-巡风xunfeng 介绍主体两部分:网络资产识别引擎,漏洞检测引擎。代码赏析插件编写JSON标示符Python脚本此外系统内嵌了辅助验证功能文件结构功能 模块添加IP三. 进行扫描在这里插入图片描述 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/de587a6f6f694…...

统计接口调用耗时情况设计思路(大厂面试题)

gateway统计接口调用耗时情况设计思路(大厂面试题) 详情视频可以去看尚硅谷2024周阳老师的springCloud P86 知识出处自定义全局过滤器官网https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/#gateway-combined-global-filter-…...

Elasticsearch:什么是 DevOps?

DevOps 定义 DevOps 是一种现代软件开发方法,它将公司软件开发 (Dev) 和 IT 运营 (Ops) 团队的工作结合起来并实现自动化。 DevOps 提倡这样一种理念:这些传统上独立的团队在协作方面比在孤岛中更有效。 理想情况下,DevOps 团队共同努力改进…...

C语言基础练习——Day03

目录 选择题 编程题 记负均正 旋转数组的最小数字 选择题 1、已知函数的原型是:int fun(char b[10], int *a);,设定义:char c[10];int d;,正确的调用语句是 A fun(c,&d);B fun(c,d);C fun(&c,&d);D fun(&c,d); 答…...

膜厚测量仪在半导体应用中及其重要

随着科技的不断发展,半导体行业已成为当今世界的核心产业之一。在这个领域中,半导体膜厚测量仪作为关键设备,其精度和可靠性对于产品质量和生产效率具有至关重要的作用。本文将详细介绍半导体膜厚测量仪的工作原理、应用领域以及其在半导体制…...

【前端】-初始前端以及html的学习

💖作者:小树苗渴望变成参天大树🎈 🎉作者宣言:认真写好每一篇博客💤 🎊作者gitee:gitee✨ 💞作者专栏:C语言,数据结构初阶,Linux,C 动态规划算法🎄 如 果 你 …...

uni-app navigateTo路由传参传递对象

传递参数 先通过JSON.stringify将对象转成字符串 toNextPage(obj) {uni.navigateTo({url:/pages/nextpage/index?obj${JSON.stringify(obj)}}); },接收参数 再通过JSON.parse将传递过来的字符串转成对象 onLoad(options) {this.obj JSON.parse(options.obj) }...

99 centos 7 服务器上面 增加了 2181 的防火墙配置, 但是客户端连接不上

呵呵 最近部署 zookeeper 的时候出现这样的一个问题 centos 7 服务器上面 增加了 2181 的防火墙配置, 但是客户端连接不上 # 但是再 另外的一个虚拟机环境, ubuntu 16 的环境, docker 启动 2181 的服务, 然后 安装 firewalld, 配置 开放 2181 的 tcp 服务, 客户端能够正常连接…...

云计算科学与工程实践指南--章节引言收集

云计算科学与工程实践指南–章节引言收集 //本文收集 【云计算科学与工程实践指南】 书中每一章节的引言。 我已厌倦了在一本书中阅读云的定义。难道你不失望吗?你正在阅读一个很好的故事,突然间作者必须停下来介绍云。谁在乎云是什么? 通…...

探索Web中的颜色选择:不同取色方法的实现

在Web开发中,提供用户选择颜色的功能是很常见的需求。无论是为了个性化UI主题,还是为了图像编辑工具,一个直观且易用的取色器都是必不可少的。本文将介绍几种在Web应用中实现取色功能的方法,从简单的HTML输入到利用现代API的高级技…...

突破编程_C++_设计模式(策略模式)

1 策略模式的概念 策略模式(Strategy Pattern)是 C 中常用的一种行为设计模式,它能在运行时改变对象的行为。在策略模式中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为模式。 在策略模式中,需…...

【uniapp】uniapp小程序中实现拍照同时打开闪光灯的功能,拍照闪光灯实现

一、需求前提 特殊场景中,需要拍照的同时打开闪光灯,(例如黑暗场景下的设备维护巡检功能)。 起初我是用的uviewui中的u-upload组件自带的拍照功能,但是这个不支持拍照时打开闪光灯,也不支持从通知栏中打开…...

在python model train里如何驯服野生log?

关键词:python 、epoch、loss、log 🤖: 记录模型的训练过程的步骤如下: 导入logging模块。配置日志记录器,设置日志文件名、日志级别、日志格式等。在每个epoch结束时,使用logging模块记录性能指标、损失值、准确率等信…...

产品推荐 - Xilinx FPGA下载器 XQ-HS/STM2

1 FPGA下载器简介 1.性能优良 FPGA下载器XQ-HS/STM2采用Xilinx下载模块设计而成(JTAG-SMT2NC模块,该模块与Xilinx官方开发板KC705,KCU105,ZC702,ZC706,Zedboard等板载下载器一样,下载速度快…...

STM32 SDRAM知识点

1.SDRAM和SRAM的区别 SRAM不需要刷新电路即能保存它内部存储的数据。而SDRAM(Dynamic Random Access Memory)每隔一段时间,要刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能,但是SRAM也有它…...

手写分布式配置中心(六)整合springboot(自动刷新)

对于springboot配置自动刷新,原理也很简单,就是在启动过程中用一个BeanPostProcessor去收集需要自动刷新的字段,然后在springboot启动后开启轮询任务即可。 不过需要对之前的代码再次做修改,因为springboot的配置注入value("…...

记录一次排查负载均衡不能创建的排查过程

故障现象,某云上,运维同事在创建负载均衡的时候,发现可以创建资源,但是创建完之后,不显示对应的负载均衡。 创建负载均衡时候,按f12发现console有如下报错 后来请后端网络同事排查日志发现,是后…...

把 memory_order 从 seq_cst 改成 acquire/release,QPS 涨了 40%——但下一行代码差点就是数据竞争

看这段代码: std::atomic<bool> ready{false}; int data = 0;// 线程 A:生产者 void producer()...

5大核心模块构建的智能游戏自动化系统:BetterGI原神辅助工具终极指南

5大核心模块构建的智能游戏自动化系统&#xff1a;BetterGI原神辅助工具终极指南 【免费下载链接】better-genshin-impact &#x1f4e6;BetterGI 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动刷本 | 自动采集/挖矿/锄地 | 一条龙 …...

如何攻克QQ音乐加密音频:QMCDecode的跨平台解码实战指南

如何攻克QQ音乐加密音频&#xff1a;QMCDecode的跨平台解码实战指南 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac&#xff0c;qmc0,qmc3转mp3, mflac,mflac0等转flac)&#xff0c;仅支持macOS&#xff0c;可自动识别到QQ音乐下载目录&#xff0c;默认…...

中小企业降本妙招:Hunyuan免费翻译模型部署实战

中小企业降本妙招&#xff1a;Hunyuan免费翻译模型部署实战 1. 为什么中小企业需要关注翻译成本&#xff1f; 对于中小企业来说&#xff0c;国际化业务拓展往往面临一个现实问题&#xff1a;翻译成本。传统的商业翻译API虽然方便&#xff0c;但按字数或调用次数计费的模式&am…...

10兆瓦数据中心年省3000万!液冷的经济账怎么算?

10兆瓦数据中心年省3000万&#xff01;液冷的经济账怎么算&#xff1f;一个10兆瓦的数据中心&#xff0c;一年电费是多少&#xff1f;答案是——用风冷&#xff0c;要花将近1个亿。但如果换成液冷&#xff0c;这笔钱可以省下2000万到3000万。数据说明&#xff1a;年节省金额的前…...

龙虾量化实战法(QClaw)

龙虾量化上手法 如果你只是想快速搭一套能用的量化分析流程&#xff0c;这篇文章就是写给你的。最近市面上这类量化课程真的很多&#xff0c;讲得热闹&#xff0c;卖得也凶&#xff0c;但我个人一直不觉得这东西有多大价值。原因很简单&#xff0c;很多课讲到最后&#xff0c;还…...

Selenium自动化测试中,页面一刷新就报错?手把手教你搞定StaleElementReferenceException

Selenium自动化测试中StaleElementReferenceException的深度解析与实战解决方案 在自动化测试的世界里&#xff0c;Selenium无疑是Web应用测试的利器。然而&#xff0c;当测试脚本遇到动态页面时&#xff0c;一个令人头疼的异常常常让测试工程师们抓狂——StaleElementReferenc…...

如何分析SQL存储过程执行频率_基于系统视图的统计分析

sys.dm_exec_procedure_stats常看不到存储过程&#xff0c;因其仅显示自SQL Server启动或缓存清除后仍在缓存中且执行过的存储过程&#xff1b;WITH RECOMPILE、内存压力致计划被驱逐、权限不足或缓存重置均会导致缺失。查 sys.dm_exec_procedure_stats 为什么经常看不到你的存…...

华为S5735S交换机iStack堆叠实战:从零配置到业务上线

1. 为什么选择iStack堆叠技术 第一次接触华为S5735S交换机堆叠时&#xff0c;我也被各种堆叠技术名词绕晕了。iStack、CSS、堆叠卡、业务口堆叠...后来在实际项目中摸爬滚打才发现&#xff0c;电口堆叠才是中小型网络的最优解。就拿最近一个客户案例来说&#xff0c;他们原有单…...

【Linux】网络基础概念

1. 网络基础总结来说&#xff1a;计算机不能独立使用&#xff0c;必须进行协作&#xff0c;注定了计算机之间要进行连接通信&#xff0c;就产生了网络网络是局部产生的&#xff0c;是从局部到整体的&#xff08;网络互联 ----> 局域网 ----> 广域网 ----> 更大的网&am…...