码迷,mamicode.com
首页 > 其他好文 > 详细

Leetcode:Set Matrix Zeroes

时间:2014-05-09 08:51:57      阅读:253      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   java   tar   

戳我去解题

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

这题还是很简单的,就是有点坑,遍历矩阵的时候,每遇到0的时候,我们不能立即将所在行和列置0,否则,到最后矩阵所有值都为0了,

而应该将所在的行和列号存储起来,最后遍历完矩阵之后,再根据所存储的行列号来置0

bubuko.com,布布扣
class Solution {
public:
    void setZeroes(vector<vector<int> > &matrix) {
        int row = matrix.size();
        int col = matrix.at(0).size();
        set<int> rowZeros;  
        set<int> colZeros;
        for (int i = 0; i < row; ++i) {
            for (int j = 0; j < col; ++j) {
                if (matrix.at(i).at(j) == 0) {
                    rowZeros.insert(i);
                    colZeros.insert(j);
                }
            }
        }
        for (auto iter = rowZeros.begin(); iter != rowZeros.end(); ++iter) {
            fill(matrix.at(*iter).begin(), matrix.at(*iter).end(), 0);
        }
        for (auto iter = colZeros.begin(); iter != colZeros.end(); ++iter) {
            for (int j = 0; j < row; ++j) {
                matrix.at(j).at(*iter) = 0; 
            }
        }
    }
};
bubuko.com,布布扣

 

Leetcode:Set Matrix Zeroes,布布扣,bubuko.com

Leetcode:Set Matrix Zeroes

标签:style   blog   class   code   java   tar   

原文地址:http://www.cnblogs.com/wwwjieo0/p/3717647.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!