반응형

https://leetcode.com/problems/special-positions-in-a-binary-matrix/description/

 

Special Positions in a Binary Matrix - LeetCode

Can you solve this real interview question? Special Positions in a Binary Matrix - Given an m x n binary matrix mat, return the number of special positions in mat. A position (i, j) is called special if mat[i][j] == 1 and all other elements in row i and co

leetcode.com

 

각 행과 열에서 1의 개수를 전처리해줍니다.

행렬의 숫자가 1일 때, 위치한 행과 열에서 1의 개수가 1개인지 확인해줍니다.

class Solution {
public:
    int numSpecial(vector<vector<int>>& mat) {
        int n = mat.size();
        int m = mat.front().size();

        vector<int> rows(n, 0), cols(m, 0);
        for(int i=0; i<n; i++) {
            for(int j=0; j<m; j++) {
                rows[i] += mat[i][j];
                cols[j] += mat[i][j];
            }
        }
        
        int res = 0;
        for(int i=0; i<n; i++) {
            for(int j=0; j<m; j++) {
                res += mat[i][j] && rows[i] == 1 && cols[j] == 1;
            }
        }
        return res;
    }
};
반응형

+ Recent posts