首页 > 代码库 > 学生信息管理系统,Ubuntu下Codeblocks+wxWidgets编程

学生信息管理系统,Ubuntu下Codeblocks+wxWidgets编程

题目链接:https://oj.leetcode.com/problems/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.


一个个找肯定会超时,我们可以分别用一个行向量和一个列向量进行维护。这样O(m*n) 能出来

class Solution {
public:
    void setZeroes(vector<vector<int> > &matrix) {
        bool row[matrix.size()];
        bool col[matrix[0].size()];
        memset(row,false,sizeof(row));
        memset(col,false,sizeof(col));
        for(int i=0;i<matrix.size();i++)
        	for(int j=0;j<matrix[0].size();j++)
        	{
        		if(matrix[i][j]==0)
        		{
        			row[i]=true;
        			col[j]=true;
        		}
        	}

        for(int i=0;i<matrix.size();i++)
        	for(int j=0;j<matrix[0].size();j++)
        	{
        		if(row[i]==true||col[j]==true)
        		{
        			matrix[i][j]=0;
        		}
        	}
    }
};