leetcodehot100 矩阵置零

额外使用一个boolean变量用来判断第一列是否为零。另外第一行除了第一个用来标记当前的列是否为零,第一列用来标记当前行是否标记为零

class Solution {

public void setZeroes(int[][] matrix) {

boolean isAllZero = false;//判断第一列是否存在零

for(int i = 0;i<matrix.length;i++){//将记录所有应该置零的地方

for(int j = 0;j<matrix[0].length;j++){

if(matrix[i][j]==0){

if(j==0){

isAllZero = true;

}else{

matrix[i][0] = 0;

matrix[0][j] = 0;

}

}

}

}

for(int i = 1;i<matrix.length;i++){

for(int j = 1;j<matrix[0].length;j++){

if(matrix[i][0]==0||matrix[0][j]==0){

matrix[i][j] = 0;

}

}

}

for(int i = 0;i<matrix[0].length;i++){

if(matrix[0][0]==0){

matrix[0][i] =0;

}

}

if(isAllZero){

for(int i = 0;i<matrix.length;i++){

matrix[i][0] =0;

}

}

}

}

相关推荐
wadesir11 分钟前
Rust中的条件变量详解(使用Condvar的wait方法实现线程同步)
开发语言·算法·rust
yugi98783829 分钟前
基于MATLAB实现协同过滤电影推荐系统
算法·matlab
TimberWill30 分钟前
哈希-02-最长连续序列
算法·leetcode·排序算法
Morwit1 小时前
【力扣hot100】64. 最小路径和
c++·算法·leetcode
leoufung1 小时前
LeetCode 373. Find K Pairs with Smallest Sums:从暴力到堆优化的完整思路与踩坑
java·算法·leetcode
wifi chicken1 小时前
数组遍历求值,行遍历和列遍历谁更快
c语言·数据结构·算法
胡楚昊2 小时前
NSSCTF动调题包通关
开发语言·javascript·算法
Gold_Dino2 小时前
agc011_e 题解
算法
bubiyoushang8883 小时前
基于蚁群算法的直流电机PID参数整定 MATLAB 实现
数据结构·算法·matlab
风筝在晴天搁浅3 小时前
hot100 240.搜索二维矩阵Ⅱ
算法·矩阵