【LeetCode 75】第二十三题(2352)相等行列对

这篇具有很好参考价值的文章主要介绍了【LeetCode 75】第二十三题(2352)相等行列对。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

题目:

示例:

分析:

代码+运行结果:


题目:

【LeetCode 75】第二十三题(2352)相等行列对,LeetCode75题解,leetcode,算法,数据结构,c++

示例:

【LeetCode 75】第二十三题(2352)相等行列对,LeetCode75题解,leetcode,算法,数据结构,c++

分析:

题目很简洁,就是要我们寻找行与列相同的对数。相同行与列不仅是要元素相同,还需要顺序也一样(难度变小了,如果不要求顺序一样的话,还需要单独统计元素以及出现次数,会稍微麻烦一点)

一般要寻找相同的数的时候,我们都会使用map或是set,遇到本题这种需要统计相同的数的数目的时候,我们就需要使用multiset或是map了,因为multiset可以存放相同的键,因此可以使用multiset来进行存放值,再用count来统计相同键值的数量。

首先我们先把矩阵的每一行都存放进multiset中,然后再遍历矩阵的每一列,如果multiset中存放着与之相同的行,那么就将结果添加相同的行数,遍历完成后就可以得出结果了。

【LeetCode 75】第二十三题(2352)相等行列对,LeetCode75题解,leetcode,算法,数据结构,c++

代码+运行结果:

class Solution {
public:
    int equalPairs(vector<vector<int>>& grid) {
        int res=0;
        multiset<vector<int>>temp;  //可以存放相同元素的set
        vector<int>t;
        for(vector<int>g:grid) temp.insert(g);  //将每行都先存放进set
        for(int i=0;i<grid[0].size();i++){
            t.clear();
            for(int j=0;j<grid.size();j++) t.push_back(grid[j][i]); //提取出每列元素
            res+=temp.count(t); //加上与列相同的行数,没有则是+=0
        }
        return res;
    }
};

【LeetCode 75】第二十三题(2352)相等行列对,LeetCode75题解,leetcode,算法,数据结构,c++文章来源地址https://www.toymoban.com/news/detail-645317.html

到了这里,关于【LeetCode 75】第二十三题(2352)相等行列对的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 第二十三章 Unity 材质

    3D模型主要是通过材质(Material)和贴图(Texture)来表现其精美的外表,说白了就是一张“画皮”而已。我们之前的DirectX课程中介绍过材质,它实际就是对光的反射率,这样简单的设置并不能展现3D模型的外观,因此就引入了贴图来展示模型物体的表面纹理。请 注意,贴图是

    2024年02月16日
    浏览(45)
  • [C国演义] 第二十三章

    力扣链接 求 删除字符的ASCLL和的最小值 ⇒ 正难则反 ⇒ 求公共子序列的ASCLL和的最大值 两个数组的dp问题 ⇒ 分区间讨论 ⇒ dp[i][j] -- nums1数组的[0, i] 区间 和 nums2数组的[0, j] 区间, 公共子序列的ASCLL和的最大值 转态转移方程 — 根据最后一个位置进行讨论 遍历顺序 初始化 需

    2024年02月04日
    浏览(34)
  • 蓝桥杯刷题第二十三天

    题目描述 小明有一块空地,他将这块空地划分为 n 行 m 列的小块,每行和每列的长度都为 1。 小明选了其中的一些小块空地,种上了草,其他小块仍然保持是空地。 这些草长得很快,每个月,草都会向外长出一些,如果一个小块种了草,则它将向自己的上、下、左、右四小

    2023年04月22日
    浏览(46)
  • 第二十三回:Flutter中的事件处理

    我们在上一章回中介绍了对齐和边距类Widget相关的内容,,本章回中将介绍 事件处理相关的知识 .闲话休提,让我们一起Talk Flutter吧。 我们在这里说的事件表示点击和滑动屏幕时触发的事件,类似Android中的TouchEvent.Flutter提供了 PointerEvent 类及其子类来封装不同类型的事件。同

    2024年02月02日
    浏览(35)
  • 二十三种设计模式第二十篇--备忘录模式

    备忘录模式,备忘录模式属于行为型模式。它允许在不破坏封装的情况下捕获和恢复对象的内部状态。 保存一个对象的某个状态,以便在适当的时候恢复对象,该模式通过创建一个备忘录对象来保存原始对象的状态,并将其存储在一个负责管理备忘录的负责人对象中。 备忘

    2024年02月14日
    浏览(38)
  • Nodejs 第二十三章(Markdown 转 html)

    Markdown 转换html 是一个非常常见的需求 什么是 Markdown ? Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。 我们需要用到三个库实现 EJS :一款强大的JavaScript模板引擎,它可以帮助我们在HTML中嵌入动态内容。使用EJS,您可以轻松地将Markdown转换为

    2024年02月04日
    浏览(38)
  • 第二十三天:mysql数据备份及还原

    一、备份类型 完全备份,部分备份 完全备份:整个数据集 部分备份:只备份数据子集,如部分库或表 完全备份、增量备份、差异备份 增量备份:仅备份最近一次完全备份或增量备份(如果存在增量)以来变化的数据,备份较快,还原复杂 差异备份:仅备份最近一次完全备

    2024年02月19日
    浏览(37)
  • 二十三种设计模式第二十四篇--访问者模式(完结撒花)

    在访问者模式(Visitor Pattern)中,我们使用了一个访问者类,它改变了元素类的执行算法。 通过这种方式,元素的执行算法可以随着访问者改变而改变。 这种类型的设计模式属于行为型模式。根据模式,元素对象已接受访问者对象,这样访问者对象就可以处理元素对象上的

    2024年02月14日
    浏览(42)
  • 【从零开始学习JAVA | 第二十三篇】集合体系结构

    目录 前言: 单列集合:      set与list的区别: 双列集合: map的特点: 总结:                   JAVA中为我们提供了很多集合,这些集合都有自己很独特的特点,因此我们要学习所有的集合,但是在学习所有的集合之前,我们还是先为大家介绍一下JAVA的集合体系结构,这

    2024年02月16日
    浏览(56)
  • 第二十三章 原理篇:Pix2Seq

    大夏天我好像二阳了真是要命啊。 现在找到工作了,感觉很快乐,但是也有了压力。 《论你靠吹牛混进公司后该怎么熬过试用期》 希望自己能保持学习的习惯!加油! 参考教程: https://arxiv.org/pdf/2109.10852.pdf https://github.com/google-research/pix2seq https://zhuanlan.zhihu.com/p/421851551 ht

    2024年02月13日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包