Leetcode 3212. Count Submatrices With Equal Frequency of X and Y

  • Leetcode 3212. Count Submatrices With Equal Frequency of X and Y
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3212. Count Submatrices With Equal Frequency of X and Y

1. 解题思路

这一题我的思路就是一个二维累计数组的实现,具体来说,我们事先算出关于x和y的两个二维累积矩阵,然后遍历一下每一个位置,看看他们作为矩形右下角的位置时,对应的矩形内x和y的个数是否相同且不为0。

2. 代码实现

给出python代码实现如下:

class Solution:def numberOfSubmatrices(self, grid: List[List[str]]) -> int:n, m = len(grid), len(grid[0])def count(ch):cnt = [[0 for _ in range(m)] for _ in range(n)]cnt[0][0] = 0 if grid[0][0] != ch else 1for j in range(1, m):cnt[0][j] = cnt[0][j-1] if grid[0][j] != ch else cnt[0][j-1]+1for i in range(1, n):cnt[i][0] = cnt[i-1][0] if grid[i][0] != ch else cnt[i-1][0]+1for j in range(1, m):cnt[i][j] = cnt[i-1][j] + cnt[i][j-1] - cnt[i-1][j-1]if grid[i][j] == ch:cnt[i][j] += 1return cntcntx = count("X")cnty = count("Y")ans = 0for i in range(n):for j in range(m):if cntx[i][j] == cnty[i][j] and cntx[i][j] > 0:ans += 1return ans

提交代码评测得到:耗时3560ms,占用内存108.8MB。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/42557.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringMVC常见的注解

一、Spring MVC Spring Web MVC是基于ServletAPI构建的原始web 框架,一开始就包含在Spring 框架中,通常被称为“Spring MVC”。 1.MVC 是什么? MVC(Model、View、Controller)是软件工程中的一种软件架构设计模型。它把软件系统分…

STM32-输入捕获IC和编码器接口

本内容基于江协科技STM32视频学习之后整理而得。 文章目录 1. 输入捕获IC1.1 输入捕获IC简介1.2 频率测量1.3 输入捕获通道1.4 主从触发模式1.5 输入捕获基本结构1.6 PWMI基本结构 2. 输入捕获库函数及代码2.1 输入捕获库函数2.2 6-6 输入捕获模式测频率2.2.1 硬件连接2.2.2 硬…

ArduPilot开源代码之AP_VisualOdom_Backend

ArduPilot开源代码之AP_VisualOdom_Backend 1. 源由2. 类定义2.1 类与构造函数2.2 公共部分2.3 保护部分2.4 成员变量 3. 重要例程3.1 AP_VisualOdom_Backend::healthy3.2 AP_VisualOdom_Backend::quality3.3 AP_VisualOdom_Backend::handle_vision_position_delta_msg3.4 AP_V…

Android 获取当前电池状态

在 API 级别 23 上获取充电状态 要在 API 级别 23 上获取电池的当前状态,只需使用电池管理器系统服务: BatteryManager batteryManager (BatteryManager) getSystemService(BATTERY_SERVICE); boolean isCharging batteryManager.isCharging();使用 S…

2024暑假集训

Day1——枚举 Day2——测试 Day3——贪心 Day4、5——测试 ——————————————————————————————————————————— Day3T7&Day5T7:没思路 Day3T8:不知道怎么排序筛选 Day5T5:没有算法难度,但是不知道怎么处理2队奶牛的情…

Python 访问和设置私有属性

Python __init__ 初始化函数中在属性名前面加2条下划线的形式表示把当前属性设置为私有实例属性后,在外部(指创建当前类的实例对象)如何进行访问并更新该属性值? 首先创建一个 Person类,在类中通过 设置2个实例函数去…

什么牌子的头戴式蓝牙耳机好性价比高?

说起性价比高的头戴式蓝牙耳机,就不得不提倍思H1s,作为倍思最新推出的新款,在各项功能上都实现了不错的升级,二字开头的价格,配置却毫不含糊, 倍思H1s的音质表现堪称一流。它采用了40mm天然生物纤维振膜,这种振膜柔韧而有弹性,能够显著提升低音的量感。无论是深沉的低音还是清…

qt播放视频

在Qt中播放视频&#xff0c;通常可以使用QMediaPlayer和QVideoWidget这两个类。QMediaPlayer用于控制视频的播放&#xff0c;而QVideoWidget则用于显示视频。 以下是一个简单的示例&#xff0c;展示了如何使用Qt播放视频&#xff1a; cpp复制代码 #include <QApplication…

算法训练(leetcode)第二十六天 | 452. 用最少数量的箭引爆气球、435. 无重叠区间、763. 划分字母区间

刷题记录 452. 用最少数量的箭引爆气球思路一思路二 435. 无重叠区间763. 划分字母区间 452. 用最少数量的箭引爆气球 leetcode题目地址 思路一 先按起始坐标从小到大排序。排序后找交集并将交集存入一个数组中&#xff0c;遍历气球数组从交集数组中找交集&#xff0c;找到与…

空对象模式在金融业务中的应用及其框架实现

引言 空对象模式&#xff08;Null Object Pattern&#xff09;是一种行为设计模式&#xff0c;它通过使用一个无操作行为的对象来替代NULL&#xff0c;从而避免对空值进行显式的检查。空对象模式可以简化代码&#xff0c;避免因空值导致的空指针异常。在金融业务中&#xff0c…

数据跨境法案:美国篇上

近年来随着全球数字化的加速发展&#xff0c;数据已成为国家竞争力的重要基石。在这样的背景下&#xff0c;中国软件和技术出海的场景日益丰富。本系列邀请到在跨境数据方面的研究人员针对海外的数据跨境政策进行解读。 本期将针对美国对数据跨境流动的态度和政策进行阐释。过…

非比较排序 计数排序

1.核心思路 首先要找出max 和 min&#xff0c;最大值 - 最小值 1&#xff0c;就可以计算出数据在什么范围然后创建计数数组大小&#xff0c;a[i] - min 在数组的相对位置计数 通过自然序列排序然后把计数好的值&#xff0c;按照顺序依次放回原数组即可 动图解释&#xff0c;其…

Linux—网络设置

目录 一、ifconfig——查看网络配置 1、查看网络接口信息 1.1、查看所有网络接口 1.2、查看具体的网络接口 2、修改网络配置 3、添加网络接口 4、禁用/激活网卡 二、hostname——查看主机名称 1、查看主机名称 2、临时修改主机名称 3、永久修改主机名称 4、查看本…

Java引用的4种类型:强、软、弱、虚

在Java中&#xff0c;引用的概念不仅限于强引用&#xff0c;还包括软引用、弱引用和虚引用&#xff08;也称为幻影引用&#xff09;。这些引用类型主要用于不同的内存管理策略&#xff0c;尤其是在垃圾收集过程中。以下是对这四种引用类型的详细解释&#xff1a; 1. 强引用&am…

algorithm算法库学习之——不修改序列的操作

algorithm此头文件是算法库的一部分。本篇介绍不修改序列的操作函数。 不修改序列的操作 all_ofany_ofnone_of (C11)(C11)(C11) 检查谓词是否对范围中所有、任一或无元素为 true (函数模板) for_each 应用函数到范围中的元素 (函数模板) for_each_n (C17) 应用一个函数对象到序…

一.7.(2)基本运算电路,包括比例运算电路、加减运算电路、积分运算电路、微分电路等常见电路的分析、计算及应用;(未完待续)

what id the 虚短虚断虚地? 虚短&#xff1a;运放的正相输入端和反相输入端貌似连在一起了&#xff0c;所以两端的电压相等&#xff0c;即UU- 虚断&#xff1a;输入端输入阻抗无穷大 虚地&#xff1a;运放正相输入端接地&#xff0c;导致U&#xff1d;U-&#xff1d;0。 虚…

魔法自如:精通 IPython %automagic 命令的切换艺术

魔法自如&#xff1a;精通 IPython %automagic 命令的切换艺术 在 IPython 的神奇世界里&#xff0c;魔术命令是其强大交互功能的核心。这些以 % 或 %% 开头的命令&#xff0c;能够执行一系列特殊的操作&#xff0c;从而增强用户的编程体验。但是&#xff0c;你是否知道&#…

对话大模型Prompt是否需要礼貌点?

大模型相关目录 大模型&#xff0c;包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步&#xff0c;扬帆起航。 基于Dify的QA数据集构建&#xff08;附代码&#xff09;Qwen-2-7B和GLM-4-9B&#x…

秋招突击——7/5——复习{}——新作{跳跃游戏II、划分字母区间、数组中的第K个大的元素(模板题,重要)、前K个高频元素}

文章目录 引言正文贪心——45 跳跃游戏II个人实现参考实现 划分字母区间个人实现参考实现 数组中的第K个最大元素个人实现参考做法 前K个高频元素个人实现参考实现 总结 引言 今天就开始的蛮早的&#xff0c;现在是九点多&#xff0c;刚好开始做算法&#xff0c;今天有希望能够…

【leetcode周赛记录——405】

405周赛记录 #1.leetcode100339_找出加密后的字符串2.leetcode100328_生成不含相邻零的二进制字符串3.leetcode100359_统计X和Y频数相等的子矩阵数量4.leetcode100350_最小代价构造字符串 刷了一段时间算法了&#xff0c;打打周赛看看什么水平了 #1.leetcode100339_找出加密后的…