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

清除行列

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;
    }
}
全部评论

相关推荐

06-13 15:45
辽宁大学 golang
咱就是说&nbsp;你不主动&nbsp;我也不会主动下一步hhh,急死了
恶龙战士:不建议把这种帖子发到牛客上,建议去小红书发
点赞 评论 收藏
分享
昨天 14:50
湖南大学 Web前端
兄弟们你们进大厂靠的是什么项目啊
DOTPHTP:课设改。其实项目什么的如果不是实习里面的生产项目的话,建议✍️那种自己想要做的。突出个人自驱力,而不是为了找工作不得不随波逐流这种
点赞 评论 收藏
分享
仁者伍敌:难怪小公司那么挑剔,让你们这些大佬把位置拿了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务