Set Matrix Zeroes
来源:互联网 发布:二叉树层次遍历java 编辑:程序博客网 时间:2024/04/28 14:06
当a[i][j]是0的时候,就意味着i这一行了和j这一列都要置为0,不能用多余的数组记录,那么我们就把记录的tag位设在行首和列首,当然这两个位置也可能出现0的情况。那么我们
就用另外两个值记录第一行和第一列是否有0值。这里有一点要想明白,我们为什么要这另外两个值,因为我们要判断tag位的0是不是由我们a[i][j]引起的,而这只影响了这一列或
者这一行是否应该置为0,所以第一行第一列只要分别对应一个值来记录他们是否应该置为0。
class Solution {public: void setZeroes(vector<vector<int> > &matrix) { bool firstRowTag = false; bool firstColTag = false; int row = matrix.size(); int col = matrix[0].size(); for(int i = 0;i<row;i++) for(int j = 0;j<col;j++) { if(!matrix[i][j]) { if(i==0) firstRowTag = true; if(j==0) firstColTag = true; matrix[i][0] = 0; matrix[0][j] = 0; } } for(int i =1;i<row;i++) { if(!matrix[i][0]) for(int j = 1;j<col;j++) matrix[i][j] = 0; } for(int j =1;j<col;j++) { if(!matrix[0][j]) for(int i = 1;i<row;i++) matrix[i][j] = 0; } if(firstRowTag) for(int i = 0;i<col;i++) matrix[0][i] = 0; if(firstColTag) for(int i = 0;i<row;i++) matrix[i][0] = 0; }};
0 0
- LeetCode: Set Matrix Zeroes
- Set Matrix Zeroes
- Set Matrix Zeroes
- LeetCode Set Matrix Zeroes
- [Leetcode] Set Matrix Zeroes
- LeetCode: Set Matrix Zeroes
- Set Matrix Zeroes
- Leetcode: Set Matrix Zeroes
- [LeetCode] Set Matrix Zeroes
- Set Matrix Zeroes
- Set Matrix Zeroes
- [LeetCode]Set Matrix Zeroes
- Set Matrix Zeroes
- Set Matrix Zeroes
- Set Matrix Zeroes
- [leetcode]Set Matrix Zeroes
- Leetcode:Set Matrix Zeroes
- Set Matrix Zeroes
- 我可以在#include 行里使用#ifdef 来定义两个不同的东西吗?
- VS2010虚拟内存不足报错
- 天猫商城应用自定义类代码
- 简单的MD5密码加密和解密方法
- 【iOS】iPhone绘图关于QuartZ中绘制Polygons
- Set Matrix Zeroes
- C#开发笔记-读取文件,并将文件使用分隔符隔开
- poj 1704 (nim博弈)
- 虚函数
- 浅谈C/C++中的static和extern关键字
- 我得到了一些代码, 里边有太多的#ifdef。我不想使用预处理器 把所有的#include 和#ifdef 都扩展开, 有什么办法只保留一种 条件的代码呢?
- 数据库连接池实现
- 项目管理能力提升四要素
- Lock和Synchronized简介