http://oj.leetcode.com/problems/set-matrix-zeroes/

因为空间要求原地,所以一些信息就得原地存储。使用第一行第一列来存本行本列中是否有0.另外对于第一个元素[0][0],需要额外处理。

#include <iostream>
#include <vector>
using namespace std; class Solution {
public:
void setZeroes(vector<vector<int> > &matrix) {
int flag = ;
int flag2 = ;
for(int i = ;i<matrix.size();i++)
for(int j = ;j<matrix[].size();j++)
{
if(matrix[i][j] == )
{
if(j==)
flag2 = ;
if(i==)
flag = ;
matrix[][j] = ;
matrix[i][] = ;
}
} //handle row
for(int j = ;j<matrix[].size();j++)
{
if(matrix[][j] == )
for(int i = ;i<matrix.size();i++)
matrix[i][j] = ;
}
//handle column
for(int i = ;i<matrix.size();i++)
{
if(matrix[i][]==)
{
for(int j = ;j<matrix[].size();j++)
{
matrix[i][j] = ;
}
}
}
//第一行中有0
if(flag == )
{
for(int j = ;j<matrix[].size();j++)
{
matrix[][j] = ;
}
}
//第一列中有0
if(flag2 ==)
{
for(int i = ;i<matrix.size();i++)
matrix[i][] = ;
}
return;
}
};
int main()
{
vector<vector<int> > matrix;
vector<int> row;
row.push_back();
matrix.push_back(row);
row[] = ;
matrix.push_back(row);
row[] = ;
matrix.push_back(row);
//row.push_back(0);
//row.push_back(3);
// row.push_back(4);
//matrix.push_back(row); /*row.clear();
row.resize(4);
row[0] = 5;
row[1] = 6;
row[2] = 0;
row[3] = 8;
matrix.push_back(row);
row.clear();*/
Solution myS;
vector<vector<int> > ans;
myS.setZeroes(matrix);
ans = matrix;
//int ans = myS.longestConsecutive(num);
return ;
}

LeetCode OJ--Set Matrix Zeroes **的更多相关文章

  1. 【leetcode】Set Matrix Zeroes(middle)

    Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place. 思路:不能用 ...

  2. leetcode 【 Set Matrix Zeroes 】python 实现

    题目: Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place. cl ...

  3. [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. Exampl ...

  4. Java for LeetCode 073 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. 解题思路: ...

  5. Leetcode#73 Set Matrix Zeroes

    原题地址 用矩形的第一行和第一列充当mask 代码: void setZeroes(vector<vector<int> > &matrix) { ].empty()) ...

  6. [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. Follow ...

  7. 【Leetcode】Set Matrix Zeroes

    给定一个m x n的矩阵,如果某个元素为0,则把该元素所在行和列全部置0. Given a m x n matrix, if an element is 0, set its entire row a ...

  8. 【LeetCode】Set Matrix Zeroes 解题报告

    今天看到CSDN博客的勋章换了图表,同一时候也添加显示了博客等级,看起来都听清新的,感觉不错! [题目] Given a m x n matrix, if an element is 0, set i ...

  9. leetcode[73] Set Matrix Zeroes 将矩阵置零

    给定一个矩阵,把零值所在的行和列都置为零.例如: 1 2 3 1 3 1 1 1 操作之后变为 1 3 0 0 0 1 1 方法1: 赋值另存一个m*n的矩阵,在原矩阵为零的值相应置新的矩阵行和列为零 ...

  10. Leetcode 073 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. click ...

随机推荐

  1. 拓扑排序 topsort

    拓扑排序 对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序 ...

  2. skimage学习(一)

    skimage即是Scikit-Image.基于python脚本语言开发的数字图片处理包 skimage包由许多的子模块组成,各个子模块提供不同的功能.主要子模块列表如下: data子模块学习 导入d ...

  3. Linux - mkdir -p a/b/c

    mkdir -p a/b/c -p  会循环创建

  4. W3CPLUS DEMO一些有意思的效果备份

    时间轴轮播图: http://www.w3cplus.com/w3cplusDemo/demos/timeline.html css3各种图标效果: http://www.w3cplus.com/w3 ...

  5. 第二课:PHP 安装

    PHP 安装 您需要做什么? 为了开始使用 PHP,您可以: 找一个支持 PHP 和 MySQL 的 Web 主机 在您自己的 PC 机上安装 Web 服务器,然后安装 PHP 和 MySQL 使用支 ...

  6. python-面试常用 --变量、内存管理(小整数池,引用计数)

    执行Python程序的两种方法 第一种:交互式(jupyter就是对这种进行了封装) 优点:直接给出结果 缺点:无法保存 第二种:命令行式,通过Python解释器输入文本(pycharm对这种进行了封 ...

  7. ubuntu12.04安装teamviewer

    ubuntu 12.04 64位 下载地址:http://downloadap2.teamviewer.com/download/teamviewer_linux_x64.deb 下载之后,选中,右击 ...

  8. LA 6538 Dinner Coming Soon DP

    题意: 给出一个有\(N\)个顶点\(M\)条有向边的图,起点为\(1\),终点为\(N\). 每条边有经过的时间,和经过这条边的花费.一开始你有\(R\)元钱,要在\(T\)时间内赶到终点去约会. ...

  9. Python虚拟机函数机制之闭包和装饰器(七)

    函数中局部变量的访问 在完成了对函数参数的剖析后,我们再来看看,在Python中,函数的局部变量时如何实现的.前面提到过,函数参数也是一种局部变量.所以,其实局部变量的实现机制与函数参数的实现机制是完 ...

  10. 【Beta】Scrum meeting 2

    第一天:2019/6/25 前言: 第1次会议在6月日25由PM在教10-101召开. 明确所有任务要求,根据每个人的特长和项目需求分发任务,并明确项目前进方向.时长50min. 本日任务完成情况 成 ...