Leetcode毎日ブラシ--マトリクスゼロ


タイトルは以下の通りです.
     m x n    ,        0,                 0。       。
   1:
  : 
[
  [1,1,1],
  [1,0,1],
  [1,1,1]
]
  : 
[
  [1,0,1],
  [0,0,0],
  [1,0,1]
]

この問題は,その場アルゴリズムを用い,できるだけO(1)空間を用いることを要求する.
この問題の難点は、前の要素が0で後の要素が0になった後、自分が0なのか、同じ行の同じ列の要素の影響を受けて0になったのかをどのように判別するかということです.そのため、同じ行の同じ列の非0要素を修正するときに、まずこの特殊値に設定し、配列を巡った後に特殊な値を探すことができます.配列を2回目にわたって特殊値を0に変更します.私のここの特殊な値は-8を選んで、このテーマは比較的に奇怪で、INT_MAX,INT_MIN等はいずれも試験用例に組み込まれて特殊値とすることはできない.
class Solution {
public:
    void setZeroes(vector>& matrix) {
        int row_size=matrix.size(),col_size=matrix[0].size();
        for(int i=0;i>& matrix,int row, int col)
    {
        int row_size=matrix.size(),col_size=matrix[0].size();
        for(int i=0;i