首页 > 其他分享 >Leetcode 2352. 相等行列对

Leetcode 2352. 相等行列对

时间:2023-06-06 14:45:53浏览次数:46  
标签:相等 return int res 行列 grid 2352 Leetcode

题目:

给你一个下标从 0 开始、大小为 n x n 的整数矩阵 grid ,返回满足 \(R_i\) 行和 \(C_j\) 列相等的行列对 (\(R_i\), \(C_j\)) 的数目。

如果行和列以相同的顺序包含相同的元素(即相等的数组),则认为二者是相等的。

难度:中等

示例1:

image

输入:grid = [[3,2,1],[1,7,6],[2,7,7]]
输出:1
解释:存在一对相等行列对:
- (第 2 行,第 1 列):[2,7,7]

示例2:

image

输入:grid = [[3,1,2,2],[1,4,4,5],[2,4,2,2],[2,4,2,2]]
输出:3
解释:存在三对相等行列对:
- (第 0 行,第 0 列):[3,1,2,2]
- (第 2 行, 第 2 列):[2,4,2,2]
- (第 3 行, 第 2 列):[2,4,2,2]

提示:

  • n == grid.length == grid[i].length
  • 1 <= n <= 200
  • 1 <= grid[i][j] <= 105

代码实现:

方法一:暴力

class Solution {
public:
    int equalPairs(vector<vector<int>>& grid) {
        int n = grid.size();
        int res = 0;
        // 判断 i 行 j 列 是否相等
        auto check = [&](int i, int j){
            for(int k = 0; k < n; ++k){
                if(grid[i][k] != grid[k][j]) return false;
            }
            return true;
        };
        for(int i = 0; i < n; ++i){
            // 比较第i行 和 第j列
            for(int j = 0; j < n; ++j){
                res += check(i, j);
            }
        }
        return res;
    }
};

方法二:哈希


标签:相等,return,int,res,行列,grid,2352,Leetcode
From: https://www.cnblogs.com/DL1024/p/17460485.html

相关文章

  • [LeetCode] 1347. Minimum Number of Steps to Make Two Strings Anagram 制造字母异
    Youaregiventwostringsofthesamelength s and t.Inonestepyoucanchoose anycharacter of t andreplaceitwith anothercharacter.Return theminimumnumberofsteps tomake t ananagramof s.An Anagram ofastringisastringthatco......
  • leetcode-图论总结
    此文总结一下常见图论算法,代码可以为后续遇见类似题目提供参考:1.图的表示:邻接矩阵:可通过创建数组得到邻接表:我个人喜欢通过LinkedList<int[]>[]graph=newLinkedList[n];得到。EdgeList:同样可以通过LinkedList<int[]>[]graph=newLinkedList[n];得到。2.图遍历:DF......
  • 树之深度优先遍历算法详解(DFS实现) LeetCode94
           本文以如下树结构为例深度优先(DeepFirstSearch)       树的孩子称作子树,对于一个树进行深度优先遍历,即将其某一子树下所有节点遍历完再去遍历其他子树。遍历的顺序以根为参照可分为先序遍历,中序遍历,后序遍历。遍历方式描述先序遍历根左右中序遍历左根右后......
  • leetcode-滑动窗口总结
    滑动窗口是我在刷题时感觉比较困难的部分,简单做一个总结,防止之后又忘了:一般模板如下://注意:java代码由chatGPT......
  • Leetcode 2460. 对数组执行操作
    题目:给你一个下标从0开始的数组nums,数组大小为n,且由非负整数组成。你需要对数组执行n-1步操作,其中第i步操作(从0开始计数)要求对nums中第i个元素执行下述指令:如果nums[i]==nums[i+1],则nums[i]的值变成原来的2倍,nums[i+1]的值变成0。否则,跳过......
  • [LeetCode] 2460. Apply Operations to an Array
    Youaregivena 0-indexed array nums ofsize n consistingof non-negative integers.Youneedtoapply n-1 operationstothisarraywhere,inthe ith operation(0-indexed),youwillapplythefollowingonthe ith elementof nums:If nums[i]......
  • LeetCode 669. 修剪二叉搜索树
    思路遍历所有节点,如果当前节点不在所给区间里,删除该点;否则如果该点要被删除,将其左右子树其中之一提上来即可根节点位于左右子树取值区间的中间,如果该点要被删除,那么一定存在不满足要求的子树,不可能两棵子树同时保留代码classSolution{public:TreeNode*trimBST(......
  • Leetcode 2517. 礼盒的最大甜蜜度
    题目:给你一个正整数数组price,其中price[i]表示第i类糖果的价格,另给你一个正整数k。商店组合k类不同糖果打包成礼盒出售。礼盒的甜蜜度是礼盒中任意两种糖果价格绝对差的最小值。返回礼盒的最大甜蜜度。难度:中等示例1:输入:price=[13,5,1,8,21,2],k=3......
  • Leetcode 1156. 单字符重复子串的最大长度
    题目:如果字符串中的所有字符都相同,那么这个字符串是单字符重复的字符串。给你一个字符串 text,你只能交换其中两个字符一次或者什么都不做,然后得到一些单字符重复的子串。返回其中最长的子串的长度。难度:中等示例1:输入:text="ababa"输出:3示例2:输入:text="aaabaaa"输出......
  • LeetCode 450. 删除二叉搜索树中的节点
    classSolution{public:TreeNode*deleteNode(TreeNode*root,intkey){del(root,key);returnroot;}voiddel(TreeNode*&root,intkey){if(!root)return;if(key<root->val)del(root->left......