矩阵归零

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了矩阵归零相关的知识,希望对你有一定的参考价值。

代码:

class Solution { 

    public: 

        /**

         * @param matrix: A list of lists of integers

         * @return: Void

         */ 

        void setZeroes(vector<vector<int> > &matrix) { 

            // write your code here 

            int n = matrix.size(); 

            if(n==0) 

                return ; 

            int m = matrix[0].size(); 

            bool firstLine = false; 

            bool firstColumn = false; 

            for(int i=0;i<n;i++) 

                if(matrix[i][0]==0) 

                    firstColumn=true; 

            for(int i=0;i<m;i++) 

                if(matrix[0][i]==0) 

                    firstLine = true; 

            for(int i=1;i<n;i++) 

            { 

                for(int j=1;j<m;j++) 

                { 

                    if(matrix[i][j]==0) 

                    { 

                        matrix[i][0]=0; 

                        matrix[0][j]=0; 

                    } 

                } 

            } 

            for(int i=1;i<n;i++) 

            { 

                if(matrix[i][0]==0) 

                { 

                    for(int j=0;j<m;j++) 

                        matrix[i][j]=0;  

                } 

            } 

            for(int i=1;i<m;i++) 

            { 

                if(matrix[0][i]==0) 

                { 

                    for(int j=0;j<n;j++) 

                        matrix[j][i]=0; 

                } 

            } 

            if(firstLine) 

                for(int i=0;i<m;i++) 

                    matrix[0][i]=0; 

            if(firstColumn) 

                for(int i=0;i<n;i++) 

                    matrix[i][0]=0; 

        } 

    };  

lintcode截图:

技术分享

 

以上是关于矩阵归零的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 opencv 库将 3D 矩阵的元素归零?

如何将矩阵中强元素附近的弱元素归零?

矩阵归零

行绑定矩阵,将所有行归零但只有一行

matlab不归零码为啥循环乘以占空比就可以变为归零码?

从二进制矩阵中划掉坏线