leetcode
来源:互联网 发布:犀牛软件建模教程 编辑:程序博客网 时间:2024/06/14 17:01
Set Matrix Zeroes
Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place.
Solution1:
better
public void setZeroes(int[][] matrix) { int col0 = 1; int rows = matrix.length; int cols = matrix[0].length; for (int i = 0; i < rows; i++) { if (matrix[i][0] == 0) col0 = 0; for (int j = 1; j < cols; j++) { if (matrix[i][j] == 0) { matrix[i][0] = 0; matrix[0][j] = 0; } } } for (int i = rows - 1; i >= 0; i--) { for (int j = cols - 1; j >= 1; j--) { if (matrix[i][0] == 0 || matrix[0][j] == 0) { matrix[i][j] = 0; } } if (col0 == 0) matrix[i][0] = 0; } }
Solution2:
public void setZeroes(int[][] matrix) { boolean fr = false; boolean fc = false; for (int i = 0; i < matrix.length; i++) { for (int j = 0; j < matrix[0].length; j++) { if (matrix[i][j] == 0) { if (i == 0) fr = true; if (j == 0) fc = true; matrix[0][j] = 0; matrix[i][0] = 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; } } } if (fr) { for (int j = 0; j < matrix[0].length; j++) { matrix[0][j] = 0; } } if (fc) { for (int i = 0; i < matrix.length; i++) { matrix[i][0] = 0; } } }
0 0
- leetcode
- [leetcode]
- LeetCode
- leetcode
- leetcode
- leetcode:
- leetcode:
- LeetCode
- leetcode
- LEETCODE
- leetcode
- leetCode
- leetcode
- [leetcode]
- LeetCode
- leetcode
- leetcode:
- leetcode
- 使用Visual Studio 2017作为Linux C++开发工具
- 没有p sensor时要求电话接通5s灭屏
- 【图像处理】CanonVRD Tags
- gulp-load-plugins[模块化管理插件]
- 生成一定范围内不重复随机数
- leetcode
- react开发中遇到的问题
- 第4条:通过私有构造器强化不可实例化的能力
- HubSpot如何从初创阶段向规模化阶段跨越
- 电脑使用小经验系列(2)
- 轮播图
- leetcode
- 泛谈后台开发优化问题
- POJ_2236 Wireless Network