{ "type": "code_options", "author": "csdn.net", "source": "solution.md", "exercise_id": "047e5bcd86cc49b6916e8736ab3dbcc3", "keywords": "数组,哈希表,矩阵", "title": "矩阵置零", "desc": [ { "content": "\n

给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法

进阶:

 

示例 1:

\"\"
输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]
输出:
[[1,0,1],[0,0,0],[1,0,1]]

示例 2:

\"\"
输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]
输出:
[[0,0,0,0],[0,4,5,0],[0,3,1,0]]

 

提示:

", "language": "markdown" } ], "answer": [ { "content": "", "language": "java" } ], "prepared": [ [ { "content": "", "language": "java" } ], [ { "content": "", "language": "java" } ], [ { "content": "", "language": "java" } ] ], "template": { "content": "class Solution {\n\tpublic void setZeroes(int[][] matrix) {\n\t\tint[] xNum = new int[matrix[0].length];\n\t\tint[] yNum = new int[matrix.length];\n\t\tfor (int i = 0; i < matrix.length; i++) {\n\t\t\tfor (int j = 0; j < matrix[i].length; j++) {\n\t\t\t\tif (matrix[i][j] == 0) {\n\t\t\t\t\txNum[j] = 1;\n\t\t\t\t\tyNum[i] = 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tfor (int i = 0; i < matrix.length; i++) {\n\t\t\tfor (int j = 0; j < matrix[i].length; j++) {\n\t\t\t\tif (xNum[j] == 1 || yNum[i] == 1) {\n\t\t\t\t\tmatrix[i][j] = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}", "language": "java" }, "node_id": "dailycode-68a4069880464d59a2b217ebc248c3b7", "license": "csdn.net", "created_at": 1637894158, "topic_link": "https://bbs.csdn.net/topics/600470228" }