leetcode-73. Set Matrix Zeroes
来源:互联网 发布:java jdk 1.8 for mac 编辑:程序博客网 时间:2024/05/19 09:39
leetcode-73. 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.
Did you use extra space?
A straight forward solution using O(mn) space is probably a bad idea.
A simple improvement uses O(m + n) space, but still not the best solution.
Could you devise a constant space solution?
这里的思路是先从左上到右下遍历,将所有需要需要置零的行和列的首位都置为0,然后再反向遍历将所有首位为0的行和列都置为0。这里还用一个值来表示首行是否需要置零。这也是为什么需要反向的原因。这个设计的非常漂亮。反正我是没想到。
答案来源
public class Solution { public void setZeroes(int[][] matrix) { int col0 = 1, rows = matrix.length, 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] = 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; } }}
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
- AtomicInteger
- 一篇SSM框架整合友好的文章(三)
- msg.c
- 关于小提示如何做
- APP工具类AppUtils
- leetcode-73. Set Matrix Zeroes
- Button双击事件
- 当Java遇见了Html--Servlet篇
- Android自定义ActionMode背景色
- 数据库连接池学习
- jQuery-DataTable 结合 java完成数据表格显示
- 安卓项目SimpleQQ——高德地图定位
- 聊聊并发(四)——深入分析ConcurrentHashMap
- 令人躁动一时且令人不安的TCP BBR算法