[LeetCode]73. Set Matrix Zeroes
来源:互联网 发布:看书的软件推荐 编辑:程序博客网 时间:2024/06/06 00:04
https://leetcode.com/problems/set-matrix-zeroes/
二维数组如果某一位置是0,那么将该行和该列都置为零,要求空间复杂度O(1)
记录首行和首列是否要置为零。然后遍历数组,如果是零,就把第一行、第一列对应位置置为零。然后行列均从1开始遍历整个数组,如果第一行、列对应位置为0,则把当前遍历到的位置置为零。最后按照之前记录的首行、列,置首行、列的值。
public class Solution { public void setZeroes(int[][] matrix) { if (matrix == null || matrix.length == 0) { return; } boolean zeroRow = false; boolean zeroCol = false; for (int i = 0; i < matrix.length; i++) { if (matrix[i][0] == 0) { zeroCol = true; break; } } for (int i = 0; i < matrix[0].length; i++) { if (matrix[0][i] == 0) { zeroRow = true; break; } } for (int i = 0; i < matrix.length; i++) { for (int j = 0; j < matrix[0].length; j++) { if (matrix[i][j] == 0) { 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[0][j] == 0 || matrix[i][0] == 0) { matrix[i][j] = 0; } } } if (zeroRow) { matrix[0] = new int[matrix[0].length]; } if (zeroCol) { for (int i = 0; i < matrix.length; i++) { matrix[i][0] = 0; } } }}
0 0
- [LeetCode]73.Set Matrix Zeroes
- LeetCode --- 73. Set Matrix Zeroes
- [Leetcode] 73. Set Matrix Zeroes
- [leetcode] 73.Set Matrix Zeroes
- 【leetcode】73. Set Matrix Zeroes
- [leetcode] 73. Set Matrix Zeroes
- Leetcode 73. Set Matrix Zeroes
- LeetCode 73. Set Matrix Zeroes
- LeetCode 73. Set Matrix Zeroes
- 73. Set Matrix Zeroes LeetCode
- [LeetCode]73. Set Matrix Zeroes
- [LeetCode]73. Set Matrix Zeroes
- leetcode 73. Set Matrix Zeroes
- LeetCode 73. Set Matrix Zeroes
- LeetCode *** 73. Set Matrix Zeroes
- leetcode 73. Set Matrix Zeroes
- [LeetCode]73. Set Matrix Zeroes
- LeetCode-73. Set Matrix Zeroes
- acm光棍数
- 【Java线程】锁机制:synchronized、Lock、Condition
- Kaldi中特征文件格式的转换
- 在idea中创建ssm环境后修改mapper文件不能编译问题。
- 《Android群英传》---读书笔记7
- [LeetCode]73. Set Matrix Zeroes
- javaWEB字符编码过滤器
- 2016.12.15有自己的博客还是很重要的
- http://blog.csdn.net/hguisu/article/details/38385371
- (九)结构体共用体
- iOS 通过URL获取图片,并保存到本地
- 第一次写博客
- char 字符
- c语言多人五子棋