leetcode 542. 01マトリックス(C++)
0と1からなる行列を与え,各要素から最も近い0までの距離を見つけた.
2つの隣接する要素間の距離は1です.
例1:入力:
出力:
例2:入力:
出力:
注意:所与の行列の要素個数は10000を超えない. 所与の行列の少なくとも1つの要素は0である. 行列の要素は、上、下、左、右の4つの方向にのみ隣接しています.
C++
2つの隣接する要素間の距離は1です.
例1:入力:
0 0 0
0 1 0
0 0 0
出力:
0 0 0
0 1 0
0 0 0
例2:入力:
0 0 0
0 1 0
1 1 1
出力:
0 0 0
0 1 0
1 2 1
注意:
C++
class Solution {
public:
vector> updateMatrix(vector>& matrix)
{
int m=matrix.size();
int n=matrix[0].size();
vector> tmp;
vector> flag(m,vector(n,0));
for(int i=0;i> vec;
for(auto it:tmp)
{
int r=it.first;
int c=it.second;
for(int k=0;k<4;k++)
{
int y=r+dy[k];
int x=c+dx[k];
if(y>=0 && y=0 && x