相等行列对

113 阅读1分钟

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

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

 

来源:力扣(LeetCode) 链接:leetcode.cn/problems/eq…

public class EqualPairs {

    /**
     * 题解:
     * 1. 拿每一行 直接和每一列比较即可
     * @param grid
     * @return
     */
    public int equalPairs(int[][] grid) {
        int lens = grid.length;
        int count = 0;
        int[][] res = new int[lens][lens];
        for (int i = 0; i < lens; i++) {
            for (int j = 0; j < lens; j++) {
                if (isEqual(grid, i, j, grid[i])) {
                    count++;
                }
            }
        }
        return count;
    }


    public boolean isEqual(int[][] grid, int row, int col, int[] rows) {
        for (int i = 0; i < grid.length; i++) {
            if (rows[i] != grid[i][col]) {
                return false;
            }
        }
        return true;
    }
}