news 2026/4/21 8:36:46

【剑斩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/4/20 22:20:33

软件项目总结报告

1.里程碑 1.1项目启动阶段&#xff08;2023年9月&#xff09; 本阶段核心目标是明确项目方向与基础框架&#xff0c;为后续工作奠定基础。项目团队深入研读本次全国普查相关政策文件&#xff0c;结合本地图斑管理实际需求&#xff0c;明确项目核心目标为构建集数据管理、分析、…

作者头像 李华
网站建设 2026/4/19 13:17:14

《游戏生态模拟系统可持续自调节核心指南》

游戏世界生态模拟的从来不是静态复刻现实生态表象,而是构建具备自洽韧性的动态调节肌理,让物种、资源、环境三者脱离预设脚本的束缚,形成无需外部干预的可持续循环。多数设计困于要么陷入数值失衡的死局,要么依赖固定触发事件强行矫正,这种非此即彼的困境本质是对生态调节…

作者头像 李华
网站建设 2026/4/18 10:45:48

python快递校园帮互助微信小程序设计与实现

目录摘要内容概述核心功能设计技术实现要点创新特色应用价值开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;摘要内容概述 Python快递校园帮互助微信小程序是一个基于微信平台的校园互助服务…

作者头像 李华
网站建设 2026/4/12 14:24:37

Python字典与集合:高效数据管理的艺术

SQLAlchemy是Python中最流行的ORM&#xff08;对象关系映射&#xff09;框架之一&#xff0c;它提供了高效且灵活的数据库操作方式。本文将介绍如何使用SQLAlchemy ORM进行数据库操作。目录安装SQLAlchemy核心概念连接数据库定义数据模型创建数据库表基本CRUD操作查询数据关系操…

作者头像 李华
网站建设 2026/4/19 1:25:31

模板代码版本兼容

1、非修改序列算法 这些算法不会改变它们所操作的容器中的元素。 1.1 find 和 find_if find(begin, end, value)&#xff1a;查找第一个等于 value 的元素&#xff0c;返回迭代器&#xff08;未找到返回 end&#xff09;。find_if(begin, end, predicate)&#xff1a;查找第…

作者头像 李华
网站建设 2026/4/19 6:29:20

2026大模型就业指南:技术演进、核心技能与职业规划

文章详细介绍了2025年大模型技术的四个演进阶段&#xff0c;分析了就业市场的三大核心技能要求&#xff08;RAG系统、智能体任务自动化、模型对齐优化&#xff09;&#xff0c;列出了关键技术栈和推荐实践项目&#xff0c;并提供了职业发展建议。文章强调企业对垂直领域定制化、…

作者头像 李华