7777:不止是数字,更是传奇的密码

核心内容摘要

XXX.com:探索无限可能,点亮你的数字生活
解锁味蕾新境界:七八月,女生专属的夏日“食”尚秘籍

红桃17c·c18:解锁高效数字生活的新密码

题目描述

算法原理思路使用多源 BFS 算法1先创建一个二维数组来统计距离再标记陆地的距离为 0此时把陆地的坐标入队列2使用 BFS 算法统计陆地到上下左右的海洋的距离3此时当队列为空时此时当前坐标的值就是陆地到海洋的最大距离

代码实现class Solution { int dx[4] {0,0,-1,1}; int dy[4] {1,-1,0,0}; typedef pairint,int PII; public: int maxDistance(vectorvectorint grid) { //使用多源 BFS int n grid.size(),m grid[0].size(); vectorvectorint vis(n,vectorint(m,-

);//统计陆地到海洋的距离 queuePII que; for(int i 0; i n; i)//标记陆地的距离为0 { for(int j 0; j m; j) { if(grid[i][j]

{ vis[i][j] 0; que.push({i,j});//让陆地的坐标入队列 } } } while(que.size())//BFS { auto [x,y] que.front(); que.pop(); for(int i 0; i 4; i) { int a x dx[i]; int b y dy[i]; if(a 0 b 0 a n b m vis[a][b] -1 grid[a][b]

{ vis[a][b] vis[x][y] 1; que.push({a,b}); } } if(que.empty() vis[x][y]) return vis[x][y];//陆地到海洋的最大距离 } return -1; } };

麻花传沈娜娜mv免费观看英雄救美-麻花传沈娜娜mv免费观看英雄救美应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123