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

什么是建设网站的主题柳州制作网站

什么是建设网站的主题,柳州制作网站,做搜狗手机网站点,长春建设厅网站首页给你一个数组 routes ,表示一系列公交线路,其中每个 routes[i] 表示一条公交线路,第 i 辆公交车将会在上面循环行驶。例如,路线 routes[0] [1, 5, 7] 表示第 0 辆公交车会一直按序列 1 -> 5 -> 7 -> 1 -> 5 -> 7 …

给你一个数组 routes ,表示一系列公交线路,其中每个 routes[i] 表示一条公交线路,第 i 辆公交车将会在上面循环行驶。

  • 例如,路线 routes[0] = [1, 5, 7] 表示第 0 辆公交车会一直按序列 1 -> 5 -> 7 -> 1 -> 5 -> 7 -> 1 -> ... 这样的车站路线行驶。

现在从 source 车站出发(初始时不在公交车上),要前往 target 车站。 期间仅可乘坐公交车。

求出 最少乘坐的公交车数量 。如果不可能到达终点车站,返回 -1 。

示例 1:

输入:routes = [[1,2,7],[3,6,7]], source = 1, target = 6
输出:2
解释:最优策略是先乘坐第一辆公交车到达车站 7 , 然后换乘第二辆公交车到车站 6 。 

示例 2:

输入:routes = [[7,12],[4,5,15],[6],[15,19],[9,12,13]], source = 15, target = 12
输出:-1

方法思路

  1. 建立车站到公交车的映射

    • 使用 Map<Integer, List<Integer>> stopToBuses 记录每个车站有哪些公交车经过。

    • 例如:车站 1 有公交车 [0, 2] 经过。

  2. BFS 广度优先搜索

    • 从 source 出发,每次尝试乘坐当前车站的所有公交车,并记录到达新车站的最小换乘次数。

    • 优化:一旦某辆公交车的路线被遍历过,就标记为 null,避免重复处理。

  3. 边界情况处理

    • 如果 source == target,直接返回 0(不用坐车)。

    • 如果 source 或 target 没有公交车经过,返回 -1


class Solution {public int numBusesToDestination(int[][] routes, int source, int target) {// 记录经过车站 x 的公交车编号Map<Integer, List<Integer>> stopToBuses = new HashMap<>();for (int i = 0; i < routes.length; i++) {for (int x : routes[i]) {stopToBuses.computeIfAbsent(x, k -> new ArrayList<>()).add(i);}}// 如果没有公交车经过起点或终点,直接返回if (!stopToBuses.containsKey(source) || !stopToBuses.containsKey(target)) {// 注意原地 TP 的情况return source != target ? -1 : 0;}// BFSMap<Integer, Integer> dis = new HashMap<>();dis.put(source, 0);Queue<Integer> q = new ArrayDeque<>();q.add(source);while (!q.isEmpty()) {int x = q.poll(); // 当前在车站 xint disX = dis.get(x);for (int i : stopToBuses.get(x)) { // 遍历所有经过车站 x 的公交车 iif (routes[i] != null) {for (int y : routes[i]) { // 遍历公交车 i 的路线if (!dis.containsKey(y)) { // 没有访问过车站 ydis.put(y, disX + 1); // 从 x 站上车然后在 y 站下车q.add(y);}}routes[i] = null; // 标记 routes[i] 遍历过}}}return dis.getOrDefault(target, -1);}
}

http://www.dtcms.com/a/527807.html

相关文章:

  • 网站界面分类a3网站建设
  • 做网站还得备案网页版邮箱
  • 遵义网站建设公司电话多少团队建设游戏网站
  • 网站的尾页要怎么做运维工程师培训
  • 网站后台 请示网页策划书 网站建设定位
  • 怎样建设商城网站o2o网站策划
  • 网站开发合同缴纳印花税吗海外网络加速器免费
  • 安徽元鼎建设工程有限责任公司网站网站图片延时加载
  • 上海网站建设极简慕枫网络工程专业是什么
  • 电子商务网站上线活动策划wordpress pckr
  • 网站建设的网站定位廊坊哪里做网站
  • 基础型网站价格网站建设的总体需求
  • 免费html网站登录模板微信怎么自己创建小程序
  • 网站被k如何恢复二级网站怎么建设
  • 网站上传视频教程竞价托管
  • wordpress pdf 在线读安徽网站推广优化
  • 成都高新区制作网站秦皇岛企业建网站
  • 源码上传网站专门做油画交流的网站
  • 长沙自助建站平台app制作公司哪个好
  • 如何做英文网站推广移动端cpu性能天梯图
  • 内江如何做百度的网站seo网站关键词优化怎么做
  • 佛山如何网站建设在哪里做网站建设工作情况总结
  • 低价刷粉网站推广网站建设公司行业描述
  • 普洱建设网站装潢公司网站源码php
  • 做网站编辑需要会什么米业做网站的好处
  • 快速做网站公司哪家好长沙网站seo哪家公司好
  • 石家庄网站优化公司外行学习个人网站建设
  • 网站开发代码实例河南彩灯制作公司
  • 网站制作 网站网站如何改版
  • 门户网站建设工具2022世界物联网