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;

}

}

}

}

相关推荐
moonsims2 小时前
Z3 Technology-适用于无人机和机器人的 4K 高清摄像机和视频编码器
算法
摘星编程3 小时前
深入浅出 Tokio 源码:掌握 Rust 异步编程的底层逻辑
网络·算法·rust·系统编程·tokio
Hard_Liquor3 小时前
Datawhale秋训营-“大运河杯”数据开发应用创新大赛
人工智能·深度学习·算法
liu****3 小时前
笔试强训(八)
开发语言·算法·1024程序员节
草莓工作室3 小时前
数据结构14:查找
数据结构·算法
屈冠成5 小时前
C语言数组:编辑世界的坚固桥梁
c语言·开发语言·算法
应用市场5 小时前
STM32卡尔曼滤波算法详解与实战应用
人工智能·stm32·算法
启诚科技5 小时前
树上二分(树的重心)
c++·算法·二分·树的重心
风筝在晴天搁浅5 小时前
代码随想录 617.合并二叉树
数据结构·算法
AICodeThunder6 小时前
【S组篇】C++知识点总结(1):并查集基础
c语言·数据结构·c++·算法·图论