当前位置: 首页 > news >正文

东营 网站建设网站开发实战视频教程

东营 网站建设,网站开发实战视频教程,海外营销推广服务,网站推广优化排名目录 题目描述&#xff1a;示例 &#xff1a;代码实现&#xff1a; 题目描述&#xff1a; 给你一个整数 n 和一个二维整数数组 queries。 有 n 个城市&#xff0c;编号从 0 到 n - 1。初始时&#xff0c;每个城市 i 都有一条单向道路通往城市 i 1&#xff08; 0 < i < …

目录

  • 题目描述:
  • 示例 :
  • 代码实现:

题目描述:

给你一个整数 n 和一个二维整数数组 queries。
有 n 个城市,编号从 0 到 n - 1。初始时,每个城市 i 都有一条单向道路通往城市 i + 1( 0 <= i < n - 1)。
queries[i] = [ui, vi] 表示新建一条从城市 ui 到城市 vi 的单向道路。每次查询后,你需要找到从城市 0 到城市 n - 1 的最短路径的长度。
返回一个数组 answer,对于范围 [0, queries.length - 1] 中的每个 i,answer[i] 是处理完前 i + 1 个查询后,从城市 0 到城市 n - 1 的最短路径的长度。

示例 :

输入: n = 5, queries = [[2, 4], [0, 2], [0, 4]]
输出: [3, 2, 1]
解释:
在这里插入图片描述
新增一条从 2 到 4 的道路后,从 0 到 4 的最短路径长度为 3。
在这里插入图片描述
新增一条从 0 到 2 的道路后,从 0 到 4 的最短路径长度为 2。
在这里插入图片描述
新增一条从 0 到 4 的道路后,从 0 到 4 的最短路径长度为 1。

代码实现:

class Solution {public int[] shortestDistanceAfterQueries(int n, int[][] queries) {// 初始化答案列表List<Integer> answer = new ArrayList<>();// 初始化图:表示当前点能到达其他位置的集合List<List<Integer>> graph = new ArrayList<>();for (int i = 0; i < n; i++) {graph.add(new ArrayList<>());// 添加0到n-1个城市}// 添加初始的单向边for (int i = 0; i < n - 1; i++) {graph.get(i).add(i + 1);// 表示第i个城市可以到达第i+1个城市}// 处理每一个查询for (int[] query : queries) {int u = query[0];// 起点int v = query[1];// 终点// 添加新建的单向边graph.get(u).add(v);// 使用BFS计算从城市0到城市n-1的最短路径长度answer.add(bfsShortestPath(graph, n));}// 将列表转换为数组int[] res = new int[answer.size()];for (int i = 0; i < answer.size(); i++) {res[i] = answer.get(i);}return res;}int bfsShortestPath(List<List<Integer>> graph, int n) {// 队列用于BFSQueue<Integer> queue = new LinkedList<>();// 距离数组用于记录从0到其他节点的距离int[] dist = new int[n];Arrays.fill(dist, Integer.MAX_VALUE);// 将dist数组所有元素初始化为Integer中的最大值dist[0] = 0;// 初始化0到第0个城市,距离为0queue.offer(0);// 入队// 从0开始广度优先搜索队列内元素while (!queue.isEmpty()) {// 当队列为空时,跳出循环int current = queue.poll();// 出队当前队头元素for (int neighbor : graph.get(current)) {// 遍历当前队头元素在图上可达邻点if (dist[neighbor] == Integer.MAX_VALUE) {// 如果邻点为初始值时dist[neighbor] = dist[current] + 1;// 更新最短距离queue.offer(neighbor);// 并且让邻点入队}}}return dist[n - 1];// 返回dist数组中尾部元素,即当前路径中0到n-1的最短距离}
}
http://www.yayakq.cn/news/370504/

相关文章:

  • 青岛建设网站的公司服装网站建设教程
  • 渭南中学校园网站建设工作汇报网站手机版模板
  • 广元做网站站排名安康创宇网站制作建设
  • 搜索词热度查询重庆seo网络营销
  • 网站建设定制公司网站维护合同模板
  • 聚云测网站怎么做的河北项目网手机版
  • 2019做网站施工企业资料
  • 东莞网站建设市场哪个网站是专门做招商的平台
  • 网站建设简介是什么代理游戏平台赚钱吗
  • 网站开发中心公司建设网站需求
  • 网站如何防止黑客攻击网站深圳优化建设
  • 电器网站建设目的可以做审计初级题的网站
  • 网站推广软件免费版手机建网站 优帮云
  • 网站推广费用预算可以做网络推广的网站
  • 学校网站建设论文网站案例演示
  • thinkphp做网站教程蕲春县住房和城乡建设局网站
  • asp.net 网站计数器百度资源
  • 阿里巴巴做公司网站兰州app定制
  • 云建站源码百度广告推广怎么收费
  • wordpress怎么搭建网站wordpress 文件夹管理
  • 做海报 画册的素材网站成都做一个小企业网站需要多少钱
  • 手机静态网站建设课程设计报告网站关键词百度指数
  • 网站备案后名称怎么改做网彩网站
  • 手机网站开发价格网站建设维护的方案
  • 接网站开发的公司电话十大看免费行情的软件下载大全
  • 新手做网站的注意事项河南app软件开发价位
  • 网站开发如何做下载支付主备网站服务器自动切换 win2003
  • 山石网站超市郑州人才网站
  • 陶瓷企业 瓷砖地板公司网站建设哪个网站可以哪些企业做哪些产品
  • iss里面的默认网站开启不了提示服务器无响应.怎么开启合肥关键词网站排名