Set Matrix Zeroes leetcode java

题目

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

click to show follow up.

Follow up:

Did you use extra space?
A straight forward solution using O(mn) space is probably a bad idea.
A simple improvement uses O(m + n) space, but still not the best solution.
Could you devise a constant space solution?

 

题解

这道题是CC150 1.7上面的原题。可以看上面详尽的解释,我就不写了。

 

代码如下:

 

 1     public void setZeroes(int[][] matrix) {
 2         int m = matrix.length;
 3         int n = matrix[0].length;
 4         
 5         if(m==0||n==0)
 6             return;
 7         int[] flagr = new int[m];
 8         int[] flagc = new int[n];
 9         
10         for(int i=0;i<m;i++){
11             for(int j=0;j<n;j++){
12                 if(matrix[i][j]==0){
13                     flagr[i]= 1; 
14                     flagc[j]= 1;
15                 }
16             }
17         }
18         
19         for(int i=0;i<m;i++){
20             for(int j=0;j<n;j++){
21                 if(flagr[i]==1||flagc[j]==1){
22                     matrix[i][j]=0;
23                 }
24             }
25         }
26     }

Set Matrix Zeroes leetcode java,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。