class Solution {
public:
int maxDistance(vector<vector<int>>& grid) {
vector<int> water;
vector<int> land;
for(int i = 0; i < grid.size(); i++) {
for(int j = 0; j < grid.size(); j++) {
if(grid[i][j] == 0) {
water.push_back(i*grid.size() + j);
}
else {
land.push_back(i*grid.size() + j);
}
}
}
if(water.size() == 0 || land.size() == 0) {
return -1;
}
int ret = 0;
for(int w: water) {
int wy = w/grid.size();
int wx = w%grid.size();
int tmp = 1e8;
for(int l: land) {
int ly = l/grid.size();
int lx = l%grid.size();
tmp = min(tmp, abs(wx-lx) + abs(wy - ly));
}
ret = max(ret, tmp);
}
return ret;
}
};
오늘도 꼴찌
댓글 0