【LeetCode】零矩阵
文章目录
一、问题
编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。
示例 1:
输入:
[
[1,1,1],
[1,0,1],
[1,1,1]
]
输出:
[
[1,0,1],
[0,0,0],
[1,0,1]
]
示例 2:
输入:
[
[0,1,2,0],
[3,4,5,2],
[1,3,1,5]
]
输出:
[
[0,0,0,0],
[0,4,5,0],
[0,3,1,0]
]
二、思路与题解
1. 思路
零矩阵的思路一开始想的是一边判断一边置位 0,但是这样会导致前面的一整行置位0 了,但是后面在判断列的时候,因为前面一行的所有列都置位 0,就没办法判断了。这时候只能换个思路,只需要知道哪些行,哪些列就行,然后在这个基础上再去循环一遍把位置置位 0,虽然这样比较浪费时间,因为会循环两次,但是暂时想不到更好的办法。
2. 题解
public class Test5 {
public static void main(String[] args) {
int[][] arr = {
{
0,1,