矩阵置零(中等)

可以用两个标记数组分别记录每一行和每一列是否有零出现。

首先遍历该数组一次,如果某个元素为 0,那么就将该元素所在的行和列所对应标记数组的位置置为 true。然后再次遍历该数组,用标记数组更新原数组。

java 复制代码
class Solution {
    public void setZeroes(int[][] matrix) {
        int m=matrix.length;
        int n=matrix[0].length;
        boolean[] r=new boolean[m];
        boolean[] c=new boolean[n];
        for(int i=0;i<m;i++){
            for(int j=0;j<n;j++){
                if(matrix[i][j]==0){
                    r[i]=true;
                    c[j]=true;
                }
            }
        }
        for(int i=0;i<m;i++){
            for(int j=0;j<n;j++){
                if(r[i]||c[j]){
                    matrix[i][j]=0;
                }
            }
        }
        
    }
}
相关推荐
爱coding的橙子38 分钟前
每日算法刷题Day19 5.31:leetcode二分答案3道题,用时1h
算法·leetcode·职场和发展
初遇你时动了情1 小时前
dart常用语法详解/数组list/map数据/class类详解
数据结构·flutter·list
地平线开发者2 小时前
征程 6EM 常见 QConfig 配置解读与示例
算法·自动驾驶
GEEK零零七2 小时前
Leetcode 1908. Nim 游戏 II
算法·leetcode·博弈论
sbc-study2 小时前
混沌映射(Chaotic Map)
开发语言·人工智能·python·算法
Magnum Lehar3 小时前
vulkan游戏引擎game_types.h和生成build.bat实现
java·算法·游戏引擎
Christophe Chen3 小时前
strcat及其模拟实现
c语言·算法
独家回忆3644 小时前
每日算法-250531
算法
@我漫长的孤独流浪4 小时前
数据结构测试模拟题(2)
数据结构·c++·算法