leetcode【第九周】矩阵元素置零
2017-04-21 17:19
267 查看
问题描述:Given a m x n matrix,
if an element is 0, set its entire row and column to 0. Do it in place.
问题分析:由题意可知,基本思路就是维持一个长度为m和一个长度为n的数组,用来标注哪些行和哪些列为零。由头到尾遍历一遍整个矩阵,然后再根据所维持的数组,对原矩阵的对应元素进行置零操作。
实现代码:
if an element is 0, set its entire row and column to 0. Do it in place.
问题分析:由题意可知,基本思路就是维持一个长度为m和一个长度为n的数组,用来标注哪些行和哪些列为零。由头到尾遍历一遍整个矩阵,然后再根据所维持的数组,对原矩阵的对应元素进行置零操作。
实现代码:
class Solution { public: void setZeroes(vector>& matrix) { int m = matrix.size(); int n = matrix[0].size(); vector row,column; row.resize(m); row = {0}; column.resize(n); column = { 0 }; for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { if (matrix[i][j] == 0) { row[i] = 1; column[j] = 1; } } } for (int k1 = 0; k1 < n; k1++) { for (int k2 = 0; k2 < matrix.size(); k2++) { if(row[k2]==1||column[k1]==1) { matrix[k2][k1] = 0; } } } } };
相关文章推荐
- [C++]LeetCode: 110 Spiral Matrix (螺旋输出矩阵元素)
- LeetCode:Minumus Path Sum(矩阵路线的元素最小值DP)
- LeetCode2.1.20 @ Set Matrix Zeroes 矩阵部分元素置零 D3F5
- [LeetCode] Kth Smallest Element in a Sorted Matrix 有序矩阵中第K小的元素
- LeetCode:Search a 2D Matrix (在元素递增的矩阵中搜寻特定元素)
- 每天一道LeetCode-----给定一个矩阵,如果某个元素是0,就将所在行所在列上所有元素否置0
- LeetCode-73. Set Matrix Zeroes (JAVA) 矩阵元素置0
- LeetCode-Rotate Image-图像旋转-矩阵元素操作
- LeetCode 73 Set Matrix Zeroes(设矩阵元素为0)(Array)(待补充)(*)
- matlab如何统计矩阵各元素的出现次数
- 从键盘为3*3的矩阵输入数据,找出主对角线上最大的元素,以及所在的行号
- C程序:矩阵元素排序
- Matlab中统计矩阵中相同元素的个数
- [每天一题]如果M*N的矩阵中的一个元素为0,则设置其整个行列为0
- 一个3x3矩阵对角线元素相加的题目
- matlab unique找出矩阵中不同元素
- C程序:矩阵元素排序
- 求一个3X3矩阵对角线元素之和
- 矩阵中最小值元素,并求出其行列位置有无函数
- 求一个4*4矩阵两对角线元素之和 设计一个程序