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

目录

题目:

示例:

分析:

代码+运行结果:


题目:

示例:

分析:

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

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

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

代码+运行结果:

cpp 复制代码
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;
    }
};
相关推荐
C++ 老炮儿的技术栈17 小时前
volatile使用场景
linux·服务器·c语言·开发语言·c++
hz_zhangrl17 小时前
CCF-GESP 等级考试 2026年3月认证C++一级真题解析
开发语言·c++·gesp·gesp2026年3月·gespc++一级
Liu6288817 小时前
C++中的工厂模式高级应用
开发语言·c++·算法
AI科技星18 小时前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘
参.商.18 小时前
【Day41】143. 重排链表
leetcode·golang
波特率11520018 小时前
const关键字与函数的重载
开发语言·c++·函数重载
条tiao条18 小时前
KMP 算法详解:告别暴力匹配,让字符串匹配 “永不回头”
开发语言·算法
干啥啥不行,秃头第一名19 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
tobias.b19 小时前
计算机基础知识-数据结构
java·数据结构·考研
zzh9407719 小时前
Gemini 3.1 Pro 硬核推理优化剖析:思维织锦、动态计算与国内实测
算法