题解 | #清除行列# -- 模拟题

清除行列

http://www.nowcoder.com/practice/c95aac1506574dfc8ad44c3939c6739d

模拟,记录需要清0的行和列(存在col和row中) 然后遍历记录进行清0操作

import java.util.*;

public class Clearer {
    public int[][] clearZero(int[][] mat, int n) {
        // write code here
        ArrayList<Integer> col = new ArrayList(); // 记录需要清零的行
        ArrayList<Integer> row = new ArrayList(); // 记录需要清零的列
        for ( int i = 0; i < n; ++i ) {
            for ( int j = 0; j < n; ++j ) {
             	//记录清零的行和列
                if (mat[i][j] == 0) {
                    col.add(i);
                    row.add(j);
                }
            } 
        }
        // 进行清零操作 分别对行和列操作
        for (Integer a:col) {
            for ( int i = 0; i < n; ++i ) {
                mat[a][i] = 0;
            }
        }
        for (Integer a:row) {
            for ( int i = 0; i < n; ++i ) {
                mat[i][a] = 0;
            }
        }
        return mat;
    }
}
全部评论

相关推荐

白菜小丑呜呜:集美,简历有点问题,+v细嗦
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务