zoukankan      html  css  js  c++  java
  • Leetcode 细节实现 Set Matrix Zeroes

    Set Matrix Zeroes

     Total Accepted: 18139 Total Submissions: 58671My Submissions

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

    click to show follow up.



    题意:给定矩阵,假设矩阵的某个位置为0。则把那一行那一列的全部元素都置为0
    思路:用两个bool数组,分别记录应该把全部元素置为0的行和列
    复杂度:时间O(m*n)。空间O(m+n)


    void setZeroes(vector<vector<int> > &matrix){
    	if(matrix.empty()) return ;
    	int rows = matrix.size(), columns = matrix[0].size();
    	vector<bool> row(rows, false);
    	vector<bool> column(columns, false);
    	for(int i = 0; i < rows; ++i){
    		for(int j = 0; j < columns; ++j){
    			if(matrix[i][j] == 0){
    				row[i] = column[j] = true;
    				continue;
    			}
    		}
    	}
    	for(int i = 0; i < rows; ++i){
    		if(!row[i]) continue;
    		for(int j = 0; j < columns; ++j){
    			matrix[i][j] = 0;
    		}
    	}
    	for(int j = 0; j < columns; ++j){
    		if(!column[j]) continue;
    		for(int i = 0; i < rows; ++i){
    			matrix[i][j] = 0;
    		}
    	}
    }




  • 相关阅读:
    Python 循环嵌套
    python 通过序列索引迭代
    Python for 循环语句
    python 无限循环
    Python 循环语句
    Python 条件语句
    Python运算符优先级
    Python身份运算符
    Python成员运算符
    Python逻辑运算符
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5079821.html
Copyright © 2011-2022 走看看