【LeetCode - 1765】. 地图中的最高点
生活随笔
收集整理的這篇文章主要介紹了
【LeetCode - 1765】. 地图中的最高点
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
力扣
?
解題報告:
多元BFS。
進階一下:
二維數組,1表示等高線,0表示平地,比如 輸入 010 111 010 輸出 010 121 010輸入 010 101 010 輸出 010 111 010即輸入一個二維地圖,保證等高線一定是閉合的環,最外圈保證一定是0,求每個點的真實高度。 class Solution { public:vector<vector<int>> highestPeak(vector<vector<int>>& isWater) {int n = isWater.size(), m = isWater[0].size();vector<vector<int>> ans(n, vector<int>(m,-1));queue<pair<int, int> > q;for(int i = 0; i<n; i++) {for(int j = 0; j<m; 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()) {pair<int, int> cur = q.front();q.pop();for(int k = 0; k<4; 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;} };總結
以上是生活随笔為你收集整理的【LeetCode - 1765】. 地图中的最高点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有华为、苹果内味儿!金立P50 Pro发
- 下一篇: 银行揽储“大放血”,利率超7%的存款产品