news 2026/8/4 13:25:55

【剑斩OFFER】算法的暴力美学——力扣 1162 题:地图分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【剑斩OFFER】算法的暴力美学——力扣 1162 题:地图分析

一、题目描述

二、算法原理

思路:使用多源 BFS 算法

1)先创建一个二维数组来统计距离,再标记陆地的距离为 0,此时把陆地的坐标入队列

2)使用 BFS 算法统计陆地到上下左右的海洋的距离:

3)此时当队列为空时,此时当前坐标的值就是陆地到海洋的最大距离;

三、代码实现

class Solution { int dx[4] = {0,0,-1,1}; int dy[4] = {1,-1,0,0}; typedef pair<int,int> PII; public: int maxDistance(vector<vector<int>>& grid) { //使用多源 BFS int n = grid.size(),m = grid[0].size(); vector<vector<int>> vis(n,vector<int>(m,-1));//统计陆地到海洋的距离 queue<PII> que; for(int i = 0; i < n; i++)//标记陆地的距离为0 { for(int j = 0; j < m; j++) { if(grid[i][j] == 1) { 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] == 0) { vis[a][b] = vis[x][y] + 1; que.push({a,b}); } } if(que.empty() && vis[x][y]) return vis[x][y];//陆地到海洋的最大距离 } return -1; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/3 23:59:46

AI编程案例:基于 Vue3 + Leaflet 开发的中国省市两级地理数据可视化系统

本文展示是是新中地学员使用AI编程制作的“基于 Vue3 Leaflet 开发的中国省市两级地理数据可视化系统”&#xff0c;支持地图展示、搜索定位、图层控制等功能。 功能特性 多层级地图展示 省级边界展示市级边界展示地级市驻点标注 交互功能 地区搜索与快速定位地图缩放和平移…

作者头像 李华
网站建设 2026/8/4 4:43:43

极简集成Mobile库:几行代码搞定短信与网络通信

短信验证、网络切换、设备信息获取——这些常见的移动通信需求&#xff0c;如今通过Mobile库可被极大简化。开发者无需编写大量原生代码&#xff0c;只需几行调用即可完成功能集成。本文聚焦于核心使用场景&#xff0c;带你体验“写得少&#xff0c;做得多”的开发新范式。在面…

作者头像 李华
网站建设 2026/8/4 4:42:58

23. 抗锯齿

1.MSAA和FXAA简介 2.FXAA优缺点1.MSAA和FXAA 1).MSAA 是"渲染过程中抗锯齿"为了消除锯齿, GPU会对每个像素采样多次(比如:2x MSAA采样2次, 4x MSAA采样4次), 每一次采样都要执行片元着色器、纹理采样、深度测试等操作, 相当于让GPU多渲染几倍的像素数据, 这也是为什么…

作者头像 李华
网站建设 2026/7/27 2:56:12

samlib.dll文件丢失找不到问题 免费下载方法分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/8/2 20:24:59

Nginx:如何配置基于ip的虚拟主机(总结二)

一、什么是虚拟主机 虚拟主机是一种特殊的软硬件技术&#xff0c;它可以将网络上的每一台计算机分成多个虚拟主机&#xff0c;每个虚拟主机可以独立对外提供www服务&#xff0c;这样就可以实现一台主机对外提供多个web服务&#xff0c;每个虚拟主机之间是独立的&#xff0c;互…

作者头像 李华
网站建设 2026/8/2 7:35:26

python关于英雄联盟云顶之弈的游戏攻略视频辅助微信小程序

目录英雄联盟云顶之弈游戏攻略视频辅助微信小程序摘要核心功能技术实现代码示例&#xff08;数据抓取&#xff09;用户交互设计数据安全扩展方向开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff…

作者头像 李华