Java Solution constant storage


  • 0
    A
    class Solution {
        public void setZeroes(int[][] matrix) {
            int n = matrix.length; // rows
            int m = matrix[0].length; //cols
            boolean firstRowHasZero = firstRowHasZero(matrix);
            boolean firstColumnHasZero = firstColumnHasZero(matrix);
            for(int i=1; i<n; i++){
                for(int j=1; j<m; j++){
                    if(matrix[i][j]==0){
                        matrix[i][0]=0;
                        matrix[0][j]=0;
                    }
                }
            }
        for(int i=1; i<n; i++){
            if(matrix[i][0]==0){
                for(int j=0; j<m; j++){
                    matrix[i][j]=0;
                }
            }
        }
        for (int j=1; j<m; j++){
        if(matrix[0][j]==0){
             for(int i=0; i<n; i++){
                    matrix[i][j]=0;
                }
        }
    }
    if(firstRowHasZero==true && (firstColumnHasZero==true)){
        for(int i=0; i<n ; i++){
            matrix[i][0]=0;
        }
          for(int j=0; j<m ; j++){
            matrix[0][j]=0;
        }
    }
            else if(firstRowHasZero==true){
                 for(int j=0; j<m ; j++){
            matrix[0][j]=0;
        }
            }
            else if(firstColumnHasZero==true){
                for(int i=0; i<n ; i++){
            matrix[i][0]=0;
        }
            }
            else{
                return;
            }
        }
        public boolean firstRowHasZero(int[][] matrix){
            int n = matrix.length; //rows
            int m = matrix[0].length; //cols
            for(int i=0; i<m; i++){
                if(matrix[0][i]==0){
                    return true;
                }
            }
            return false;
        }
        public boolean firstColumnHasZero(int[][] matrix){
            int n = matrix.length; //rows
            int m = matrix[0].length; //cols
            for(int i=0; i<n; i++){
                if(matrix[i][0]==0){
                    return true;
                }
            }
            return false;
        }
    }
    

Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.