hot 100 73. 矩阵置零

张开发
2026/4/11 17:13:14 15 分钟阅读

分享文章

hot 100 73. 矩阵置零
矩阵置零问题描述样例输入样例输出评测用例规模与约定解析参考程序难度等级问题描述给定一个 m x n 的矩阵如果一个元素为 0 则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。样例输入matrix[[1,1,1],[1,0,1],[1,1,1]]样例输出[[1,0,1],[0,0,0],[1,0,1]]评测用例规模与约定m matrix.lengthn matrix[0].length1 m, n 200-2^31 matrix[i][j] 2^31 - 1解析不能使用额外空间只能在原数组上操作我们可以把数组第一行第一列当作标记看行列是否有0遍历一遍标记。但第一行第一列怎么处理可以先用boolen记录一下其他都修改完再处理同时第一列是否有0用m[0][0]就能表示。参考程序classSolution{publicvoidsetZeroes(int[][]matrix){intmmatrix.length;intnmatrix[0].length;booleanfirstfalse;for(intj0;jn;j){if(matrix[0][j]0){firsttrue;break;}}for(inti1;im;i){for(intj0;jn;j){if(matrix[i][j]0){matrix[i][0]matrix[0][j]0;}}}for(inti1;im;i){for(intj1;jn;j){if(matrix[i][0]0||matrix[0][j]0){matrix[i][j]0;}}}if(matrix[0][0]0){for(int[]row:matrix){row[0]0;}}if(first){Arrays.fill(matrix[0],0);}}}难度等级⭐️⭐️⭐️⭐️1~10星以个人刷题整理为目的如若侵权请联系删除~

更多文章