Daily LeetCode – day0037 1582. Special Positions in a Binary Matrix

// 1582. Special Positions in a Binary Matrix
class Solution {
    public int numSpecial(int[][] mat) {
        int[] rowSum = new int[mat.length];
        int[] colSum = new int[mat[0].length];
        for (int i = 0; i < mat.length; ++i) {
            for (int j = 0; j < mat[0].length; ++j) {
                if (mat[i][j] == 1) {
                    rowSum[i] += 1;
                    colSum[j] += 1;
                }
            }
        }
        int ans = 0;
        for (int i = 0; i < mat.length; ++i) {
            for (int j = 0; j < mat[0].length; ++j) {
                if (mat[i][j] == 1) {
                    if (rowSum[i] == 1 && colSum[j] == 1) {
                        ++ans;
                    }
                }
            }
        }
        return ans;
    }
}
学习笔记:
这是一道简单题,主要是矩阵的。
我发现了一个惊人的事情,那就是做if判断然后来决定加,和直接加0或1就直接加那个值。竟然if判断快很多。我一直以为不用if才是更快的更合理更巧妙的。


关于樊轶群

一个善良的理想主义者。
此条目发表在每日LeetCode分类目录。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。