LeetCode OJ--Set Matrix Zeroes **
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 **的更多相关文章
- 【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. 思路:不能用 ...
- 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 ...
- [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 ...
- 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. 解题思路: ...
- Leetcode#73 Set Matrix Zeroes
原题地址 用矩形的第一行和第一列充当mask 代码: void setZeroes(vector<vector<int> > &matrix) { ].empty()) ...
- [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 ...
- 【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 ...
- 【LeetCode】Set Matrix Zeroes 解题报告
今天看到CSDN博客的勋章换了图表,同一时候也添加显示了博客等级,看起来都听清新的,感觉不错! [题目] Given a m x n matrix, if an element is 0, set i ...
- leetcode[73] Set Matrix Zeroes 将矩阵置零
给定一个矩阵,把零值所在的行和列都置为零.例如: 1 2 3 1 3 1 1 1 操作之后变为 1 3 0 0 0 1 1 方法1: 赋值另存一个m*n的矩阵,在原矩阵为零的值相应置新的矩阵行和列为零 ...
- 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 ...
随机推荐
- 【贪心 计数 倍增】bzoj4458: GTY的OJ
倍增写挂调了半个晚上 Description 身为IOI金牌的gtyzs有自己的一个OJ,名曰GOJ.GOJ上的题目可谓是高质量而又经典,他在他的OJ里面定义了一个树形的分类目录,且两个相同级别的目录 ...
- Golang tcp转发 remoteAddr错误
Golang tcp 转发 第一版本 accept获取的Conn里的localAddr做为源地址,remoteAddr来做为目的地址 // tcpForward package main import ...
- zend studio10 破解方法
zend studio 是一款强大的PHP开发工具,该软件的具体信息用户可以百度一下,下面是zend studio10的破解方法. 1.下载zend studio 10,下载地址:链接:http:// ...
- 使用selenium和phantomJS浏览器登陆豆瓣的小演示
# 使用selenium和phantomJS浏览器登陆豆瓣的小演示 # 导入库 from selenium import webdriver # 实例化一个浏览器对象 web = webdriver. ...
- CodeForce:732B-Cormen — The Best Friend Of a Man
传送门:http://codeforces.com/problemset/problem/732/B Cormen - The Best Friend Of a Man time limit per ...
- 字符串-POJ3974-Palindrome
Palindrome Time Limit: 15000MS Memory Limit: 65536K Description Andy the smart computer science stud ...
- poj 1979 走多少个‘ . '问题 dfs算法
题意:给你一个迷宫地图,让你走.问最多可以走多少个“." 思路:dfs 找到起点,然后对起点进行dfs操作. dfs操作时,要把当前的位置标志成"#"表示已经走过,然后进 ...
- RSS列表
博客园 http://feed.cnblogs.com/blog/sitehome/rss
- 迷宫问题&MakeFile
先看一个有意思的问题, 我们定义一个二维数组表示迷宫. 它表示一个迷宫, 其中的1表示墙壁,0表示可以走的路, 只能横着走或竖着走,不能斜着走, 我们要编程序找出从左上角到右下角的路线.其实这个问题可 ...
- jQuery ui 百叶窗blind方向设置
百叶窗特效(Blind Effect)参数direction设置 $( document ).click(function() { $( "#toggle" ).toggle( & ...