南通高端网站设计,赣州章贡区房价,物流营销型网站案例分析,wordpress ping服务插件力扣 解题报告#xff1a;
多元BFS。
进阶一下#xff1a;
二维数组#xff0c;1表示等高线#xff0c;0表示平地#xff0c;比如
输入
010
111
010
输出
010
121
010输入
010
101
010
输出
010
111
010即输入一个二维地图#xff0c;保证等高线一定是闭合的环#x…力扣 解题报告
多元BFS。
进阶一下
二维数组1表示等高线0表示平地比如
输入
010
111
010
输出
010
121
010输入
010
101
010
输出
010
111
010即输入一个二维地图保证等高线一定是闭合的环最外圈保证一定是0求每个点的真实高度。
class Solution {
public:vectorvectorint highestPeak(vectorvectorint isWater) {int n isWater.size(), m isWater[0].size();vectorvectorint ans(n, vectorint(m,-1));queuepairint, int q;for(int i 0; in; i) {for(int j 0; jm; j) {if(isWater[i][j] 1) {q.push(make_pair(i,j));ans[i][j] 0;} }}int nx[4] {0,1,0,-1};int ny[4] {1,0,-1,0};while(q.size()) {pairint, int cur q.front();q.pop();for(int k 0; k4; k) {int tx cur.first nx[k];int ty cur.second ny[k];if(tx 0 || tx n || ty 0 || ty m) continue;if(ans[tx][ty] ! -1) continue;ans[tx][ty] ans[cur.first][cur.second] 1;q.push(make_pair(tx, ty));}}return ans;}
};