zoukankan      html  css  js  c++  java
  • LeetCode——Set Matrix Zeroes

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

    原题链接:https://oj.leetcode.com/problems/set-matrix-zeroes/

    题目:给定一个m * n 的矩阵。假设有一个元素是0。将其所在行和列设为0.

    思路:先记录下是0 的元素的位置。再去置0.

    	public void setZeroes(int[][] matrix) {
    		boolean firstRowZero = false,firstColumnZero = false;
    		for(int i=0;i<matrix.length;i++){
    			if(matrix[i][0] ==0){
    				firstColumnZero = true;
    				break;
    			}
    		}
    		for(int i=0;i<matrix[0].length;i++){
    			if(matrix[0][i] ==0){
    				firstRowZero = true;
    				break;
    			}
    		}
    		for(int i=1;i<matrix.length;i++){
    			for(int j=1;j<matrix[0].length;j++){
    				if(matrix[i][j] ==0){
    					matrix[i][0]=0;
    					matrix[0][j]=0;
    				}
    			}
    		}
    		for(int i=1;i<matrix.length;i++){
    			for(int j=1;j<matrix[0].length;j++){
    				if(matrix[i][0] ==0 || matrix[0][j]==0){
    					matrix[i][j]=0;
    				}
    			}
    		}
    		if(firstRowZero){
    			for(int i=0;i<matrix[0].length;i++)
    				matrix[0][i]=0;
    		}
    		if(firstColumnZero){
    			for(int i=0;i<matrix.length;i++)
    				matrix[i][0]=0;
    		}
    	}


  • 相关阅读:
    MySQL 优化
    Log4j2 中format增加自定义的参数
    MySQL 索引
    Linux中top和free命令详解(转)
    JAVA面试题
    Servlet3.0的可插拔功能
    开放通用Api,总有你喜欢的
    Git常用命令
    支付宝无法回调或者回调后验签失败
    Promise
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/7026168.html
Copyright © 2011-2022 走看看