Skip to content

LeetCode challenge – Set Matrix Zeroes – Java Solution

This is a solution for the LeetCode challenge – Set Matrix Zeroes written in Java ( Source )

Given a m x n matrix, if an element is 0, set its entire row and column to 0.

public class SetMatrixZeroes {
  public static void main(String[] args) throws Exception {
    int[][] matrix = {{0, 8, 7}, {9, 0, 8}, {9, 9, 0}};

    new SetMatrixZeroes().setZeroes(matrix);
  }

  public void setZeroes(int[][] matrix) {
    Set<Integer> row = new HashSet<>();
    Set<Integer> col = new HashSet<>();
    int m = matrix.length;
    int n = matrix[0].length;
    for (int i = 0; i < m; i++) {
      for (int j = 0; j < n; j++) {
        if (matrix[i][j] == 0) {
          row.add(i);
          col.add(j);
        }
      }
    }

    for (int r : row) {
      for (int j = 0; j < n; j++) {
        matrix[r][j] = 0;
      }
    }

    for (int c : col) {
      for (int i = 0; i < m; i++) {
        matrix[i][c] = 0;
      }
    }
  }
}
See also  Kangaroo - Hackerrank Challenge - C# Solution

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.