【LeetCode】3月29日打卡-Day14-BFS

题1 地图分析

描述

你现在手里有一份大小为 N x N 的『地图』(网格) grid,上面的每个『区域』(单元格)都用 0 和 1 标记好了。其中 0 代表海洋,1 代表陆地,你知道距离陆地区域最远的海洋区域是是哪一个吗?请返回该海洋区域到离它最近的陆地区域的距离。
我们这里说的距离是『曼哈顿距离』( Manhattan Distance):(x0, y0) 和 (x1, y1) 这两个区域之间的距离是 |x0 - x1| + |y0 - y1| 。
如果我们的地图上只有陆地或者海洋,请返回 -1。
示例 1:
输入:[[1,0,1],[0,0,0],[1,0,1]]
输出:2
解释:
海洋区域 (1, 1) 和所有陆地区域之间的距离都达到最大,最大距离为 2。
示例 2:
输入:[[1,0,0],[0,0,0],[0,0,0]]
输出:4
解释:
海洋区域 (2, 2) 和所有陆地区域之间的距离都达到最大,最大距离为 4。
提示:
1 <= grid.length == grid[0].length <= 100
grid[i][j] 不是 0 就是 1。

题解

这道题没做出来,也没有思路,下面是甜姨的方法
思路:先把所有的陆地都入队,然后从各个陆地同时开始一层一层的向海洋扩散,那么最后扩散到的海洋就是最远的海洋!
并且这个海洋肯定是被离他最近的陆地给扩散到的!
下面是扩散的图示,1表示陆地,0表示海洋。每次扩散的时候会标记相邻的4个位置的海洋:
在这里插入图片描述

class Solution {public int maxDistance(int[][] grid) {int[] dx = {0, 0, 1, -1};int[] dy = {1, -1, 0, 0};Queue<int[]> queue = new ArrayDeque<>();int m = grid.length, n = grid[0].length;// 先把所有的陆地都入队。for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {if (grid[i][j] == 1) {queue.offer(new int[] {i, j});}}}// 从各个陆地开始,一圈一圈的遍历海洋,最后遍历到的海洋就是离陆地最远的海洋。boolean hasOcean = false;int[] point = null;while (!queue.isEmpty()) {point = queue.poll();int x = point[0], y = point[1];// 取出队列的元素,将其四周的海洋入队。for (int i = 0; i < 4; i++) {int newX = x + dx[i];int newY = y + dy[i];if (newX < 0 || newX >= m || newY < 0 || newY >= n || grid[newX][newY] != 0) {continue;}grid[newX][newY] = grid[x][y] + 1; // 这里我直接修改了原数组,因此就不需要额外的数组来标志是否访问hasOcean = true;queue.offer(new int[] {newX, newY});}}// 没有陆地或者没有海洋,返回-1。if (point == null || !hasOcean) {return -1;}// 返回最后一次遍历到的海洋的距离。return grid[point[0]][point[1]] - 1;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/481047.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

技术论坛 | CCF YOCSEF上海即将在 CNCC 举办“知识图谱遇见社交媒体”专题论坛

中国计算机学会青年计算机科技论坛 CCF YoungComputer Scientists & Engineers Forum CCF YOCSEF上海 CNCC2017大会技术论坛 主题: 知识图谱遇见社交媒体 时间&#xff1a;2017年10月26日&#xff08;星期四&#xff09;13:30~17:30 地点&#xff1a;福州海峡国际会展中心会…

你确定自己不是那只猫吗

成为猫与养猫小的时候&#xff0c;小夕曾被告知兔子可爱是因为喜欢吃萝卜&#xff0c;导致小夕吃了好多萝北。上学后&#xff0c;会哄着小夕学习的就是好老师&#xff0c;强行让小夕背书的肯定是坏老师。找工作时&#xff0c;HR会给小夕画大饼&#xff0c;让小夕觉得自己即将去…

一文搞懂HMM(隐马尔可夫模型)-Viterbi algorithm

***一文搞懂HMM&#xff08;隐马尔可夫模型&#xff09;***简单来说&#xff0c;熵是表示物质系统状态的一种度量&#xff0c;用它老表征系统的无序程度。熵越大&#xff0c;系统越无序&#xff0c;意味着系统结构和运动的不确定和无规则&#xff1b;反之&#xff0c;&#xff…

课程 |《知识图谱》第一期

课程详情 课程名称: 《知识图谱》第一期 报名方式&#xff1a; 点击文末“阅读原文”&#xff0c;即可享受参团优惠报名哦&#xff01; 主讲老师&#xff1a; 王昊奋 著名知识图谱专家 博士毕业于上海交通大学&#xff0c;CCF术语专委会执委&#xff0c;中文信息学会语言与…

新闻 | 聚焦技术领域现状与发展阿里巴巴知识图谱专场亮相云栖大会 阿里知识图谱亮相云栖大会产学深度交流推进业务创新

14日&#xff0c;阿里巴巴知识图谱正式亮相云栖大会&#xff0c;本次活动邀请到诸多阿里技术专家与学界领军人物参会&#xff0c;一同探讨知识图谱领域的现状与远景&#xff0c;推动产业界与学术界深度交流。 知识图谱将信息表达成更接近人类认知世界的形式&#xff0c;提供了帮…

100篇论文串讲对话系统前世今生

不可以不可以&#xff0c;都在忙着过年呢&#xff0c;小夕怎么能推这种文章呢╮(╯▽╰)╭话说&#xff0c;大年初一你萌怎么能戳进来这种文章&#xff01;快&#xff0c;赶紧承认你是卖萌屋的真爱粉(&#xffe3;∇&#xffe3;)&#xff5e;小屋今天不卖干货&#xff0c;只送…

郑杰 | 如何拿回我们自己的医疗数据?

本文转载自公众号造就&#xff0c;作者郑杰&#xff0c;树兰医疗总裁&#xff0c;OMAHA 开放医疗与健康联盟发起人。 造就 大家好&#xff0c;我是郑杰&#xff0c;来自于杭州。我出生于一个医生世家&#xff0c;也在医院边上长大&#xff0c;但大学里我读的是计算机专业&#…

后BERT时代:15个预训练模型对比分析与关键点探究

前言在小夕之前写过的《NLP的游戏规则从此改写&#xff1f;从word2vec, ELMo到BERT》一文中&#xff0c;介绍了从word2vec到ELMo再到BERT的发展路径。而在BERT出现之后的这大半年的时间里&#xff0c;模型预训练的方法又被Google、Facebook、微软、百度、OpenAI等极少数几个玩得…

技术论坛 | 10月22日在微软:“行业知识图谱+ ”论坛通知

大数据创新学习中心 《国务院新一代人工智能发展规划》的“跨媒体分析推理技术”强调“重点突破跨媒体统一表征、关联理解与知识挖掘、知识图谱构建与学习、知识演化与推理、智能描述与生成等技术”&#xff0c;为进一步了解知识图谱技术的应用场景&#xff0c;2017年10月22日在…

从贪心选择到探索决策:基于强化学习的多样性排序

本文主要介绍发表在SIGIR2018上的论文From Greedy Selection to Exploratory Decision-Making: Diverse Ranking with Policy-Value Networks​www.bigdatalab.ac.cn这篇论文利用强化学习来解决多样性排序问题&#xff0c;整体思路和AlphaGo类似。Motivation在信息检索领域一个…

对话系统聊天机器人的设计艺术(上)

前言关于本文的阅读方式&#xff1a;这不是一篇学术综述&#xff0c;也不是单纯的科普文&#xff0c;而是试图从目标出发来渐进式的思考对话系统的设计&#xff0c;顺便科普。因此本文不适合跳读&#xff0c;也不适合5分钟式浏览&#xff0c;而是适合在夜深人静的时候一个人...…

鲍捷 | 知识表示——面向实战的介绍

本文转载自文因互联 2016 年 6 月份组织的第一期北京知识图谱学习小组 Wiki。 知识表示&#xff08;Knowledge Representation&#xff0c;KR&#xff0c;也译为知识表现&#xff09;是如何将结构化数据组织&#xff0c;以便于机器处理和人的理解的方法。从结构推导出新的结构&…

]搜索引擎的文档相关性计算和检索模型(BM25/TF-IDF)

搜索引擎的检索模型-查询与文档的相关度计算1. 检索模型概述搜索结果排序时搜索引擎最核心的部分&#xff0c;很大程度度上决定了搜索引擎的质量好坏及用户满意度。实际搜索结果排序的因子有很多&#xff0c;但最主要的两个因素是用户查询和网页内容的相关度&#xff0c;以及网…

对话系统(任务型、检索式、生成式对话论文与工具串讲)

Motivation 对话是一个很大的概念&#xff0c;有非常非常多的子问题&#xff0c;刚入坑的小伙伴很可能迷失在对话的一小块区域里无法自拔&#xff0c;本文就是为解决这一类问题的。希望读者在看完本文后&#xff0c;可以理清楚对话的每个概念为什么而存在&#xff0c;以及它在整…

综述 | 知识图谱向量化表示

本文作者&#xff1a;窦洪健&#xff0c;2016级研究生&#xff0c;目前研究方向为推荐系统、文本生成&#xff0c;来自中国人民大学大数据管理与分析方法研究北京市重点实验室。 本文收录于RUC AI Box专栏&#xff0c;为该专栏特供稿件&#xff08;https://zhuanlan.zhihu.com/…

强化学习扫盲贴:从Q-learning到DQN

本文转载自知乎专栏「机器学习笔记」&#xff0c;原文作者「余帅」&#xff0c;链接https://zhuanlan.zhihu.com/p/358829371 本文学习目标1. 复习Q-Learning&#xff1b;2. 理解什么是值函数近似&#xff08;Function Approximation&#xff09;&#xff1b;3. 理解什么是DQN&…

肖仰华 | 基于知识图谱的可解释人工智能:机遇与挑战

本文转载自公众号知识工场&#xff0c;整理自 2017 年 10 月 13 日肖仰华教授在 CIIS2017 中国智能产业高峰论坛上所做的报告。 肖仰华&#xff1a;很高兴有机会跟大家一起分享《基于知识图谱的可解释人工智能&#xff1a;机遇与挑战》。 刚才刘总的报告中提到了机器和人类将来…

对话系统的设计艺术(完结)

Motivation对话是一个很大的概念&#xff0c;有非常非常多的子问题&#xff0c;刚入坑的小伙伴很可能迷失在对话的一小块区域里无法自拔&#xff0c;本文就是为解决这一类问题的。希望读者在看完本文后&#xff0c;可以理清楚对话的每个概念为什么而存在&#xff0c;以及它在整…

2018届校招面经精选

https://www.zhihu.com/question/23259302 牛客网​已认证的官方帐号819 人赞同了该回答最好的办法就是看看别人是怎么准备的&#xff0c;通过别人的面经来反思自己如何准备。针对应届生校招面试 “机器学习” 相关岗位的情况&#xff0c;牛妹为大家整理了一批面经&#xff0c…

白硕 | 知识图谱,就是场景的骨架和灵魂

本文转载自公众号恒生技术之眼 知识图谱&#xff0c;目前已在全世界得到了重视和应用&#xff0c;成为当下人工智能热的一个重要组成部分。它究竟是怎样的一种技术&#xff1f;它的应用场景在哪里&#xff1f;未来国内企业该如何发展&#xff1f;让我们一起来聊聊。 从知识图谱…