力扣hot100 矩阵置零 标识位

Problem: 73. 矩阵置零
在这里插入图片描述

文章目录

思路

👨‍🏫 参考

在这里插入图片描述

复杂度

时间复杂度: O ( n m ) O(nm) O(nm)

空间复杂度: O ( 1 ) O(1) O(1)

Code

class Solution {
    public static void setZeroes(int[][] matrix)    
	{
		int n = matrix.length;
		if (n == 0)
			return;
		int m = matrix[0].length;
		int row = 1;//记录第一行是否有 0 
		int col = 1;//记录第一列是否有 0
		for (int i = 0; i < m; i++)
			if (matrix[0][i] == 0)
				row = 0;
		for (int i = 0; i < n; i++)
			if (matrix[i][0] == 0)
				col = 0;
		
		for (int i = 0; i < n; i++)
			for (int j = 0; j < m; j++)
			{
				if (matrix[i][j] == 0)
				{
                    // 使用当前行首和列首记录当前行列是否需要置零
					matrix[i][0] = 0;
					matrix[0][j] = 0;
				}
			}
        // 根据行首列首 标识位 置0
		for (int i = 1; i < n; i++)
			if (matrix[i][0] == 0)
				Arrays.fill(matrix[i], 0);
		for (int i = 1; i < m; i++)
			if (matrix[0][i] == 0)
				for (int j = 0; j < n; j++)
					matrix[j][i] = 0;
        // 最后再处理第一行和第一列
		if (row == 0)
			Arrays.fill(matrix[0], 0);
		if (col == 0)
		{
			for (int i = 0; i < n; i++) {
				matrix[i][0] = 0;
			}
		}
	}
}

相关推荐

  1. 100】73.矩阵

    2024-01-28 18:42:02       46 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-28 18:42:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-28 18:42:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-28 18:42:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-28 18:42:02       18 阅读

热门阅读

  1. go 面试题分享

    2024-01-28 18:42:02       25 阅读
  2. 运维文本三剑客详辨

    2024-01-28 18:42:02       28 阅读
  3. Linux delay相关函数实现

    2024-01-28 18:42:02       24 阅读
  4. 无人机调试开源软件

    2024-01-28 18:42:02       45 阅读
  5. Writing and Using a Simple Plugin

    2024-01-28 18:42:02       34 阅读
  6. 电脑上显示U盘多个盘符怎么办?

    2024-01-28 18:42:02       42 阅读