// 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才是更快的更合理更巧妙的。