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 ...
随机推荐
- 【思维题 线段树】cf446C. DZY Loves Fibonacci Numbers
我这种maintain写法好zz.考试时获得了40pts的RE好成绩 In mathematical terms, the sequence Fn of Fibonacci numbers is de ...
- 让Web站点崩溃最常见的七大原因
转载自: https://blog.csdn.net/u012981511/article/details/53503242 1. 磁盘已满 导致系统无法正常运行的最可能的原因是磁盘已满.一个好的网络 ...
- thinkcmf常用标签
1.图片地址:{:cmf_get_image_url($vo.icon)} 2.模板控件 模板变量调用:$theme_vars.title <widget name="aboutUs& ...
- TB平台搭建之一
最近在搭建公司的testbench,主要有一下总结: 1.TB主要有两部分:部分一,软件部分主要用C写的,她的作用是写硬件的驱动(其实就是让核的外围设备可以正常工作或工作到特定的环境上)甚至有可能写整 ...
- php 计算当天凌晨时间戳 以及获取其他常用时间戳
php 计算当日凌晨时间戳 以及获取其他常用时间戳(持续补充中...) 获取当天凌晨时间戳: echo strtotime(date('Y-m-d')); 以下再列举一些获取其他常用时间戳的方法 获取 ...
- JDK1.8 HashMap$TreeNode.rotateLeft 红黑树左旋
红黑树介绍 1.节点是红色或黑色. 2.根节点是黑色. 3.每个叶子节点都是黑色的空节点(NIL节点). 4 每个红色节点的两个子节点都是黑色.(从每个叶子到根的所有路径上不能有两个连续的红色节点) ...
- bash的位置变量和特殊变量
bash编程的知识点:位置变量和特殊变量 位置参数变量: scirpt1.sh arg1 arg2 ... $0 $1 $2 ... ${10 ...
- .Net Task常见问题
最近尝试使用一下Task,但是使用过程中因为API的不熟悉碰到了很多问题,不清楚什么时间来调用Task.Start(),具体该怎么使用等等. 如下所描述的Task.Start()方法均为实例方法. 1 ...
- springboot-vue-自定义注解限制接口调用
新建注解: /** * 想要权限拦截的接口就加上这个注解 */ @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @Doc ...
- git 强制回到以前版本
git reset dfd3e36a641340a0b86f811df869c4375fabeff2 --hard