首页 > 其他分享 >【每日一题】3243. 新增道路查询后的最短距离 I

【每日一题】3243. 新增道路查询后的最短距离 I

时间:2024-11-19 23:08:26浏览次数:1  
标签:neighbors dist 3243 res 城市 查询 短距离 queries append

给你一个整数 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] 中的每个 ianswer[i] 是处理完前 i + 1 个查询后,从城市 0 到城市 n - 1 的最短路径的长度

 

class Solution:
    def shortestDistanceAfterQueries(self, n: int, queries: List[List[int]]) -> List[int]:
        neighbors = [[i + 1] for i in range(n)]
        neighbors[-1] = []
        res = []
        for (u,v) in queries:
            neighbors[u].append(v)
            res.append(self.bfs(n,neighbors))
        return res
    
    def bfs(self, n, neighbors):
        dist = [-1 for _ in range(n)]
        dist[0] = 0
        q = deque([0])
        while len(q) > 0:
            x = q.popleft()
            for y in neighbors[x]:
                if dist[y]>=0:
                    continue
                q.append(y)
                dist[y] = dist[x] + 1
        return dist[n-1]

 

标签:neighbors,dist,3243,res,城市,查询,短距离,queries,append
From: https://www.cnblogs.com/xxlm/p/18555815

相关文章

  • JavaFX + MySQL:动态显示数据库查询结果的JavaFX应用程序
    文章目录示例概述示例代码导入必要的包定义主类和主方法详细解释导入必要的包定义主类和主方法连接数据库并处理查询结果运行效果示例数据库表结构注意事项示例概述我们将创建一个JavaFX应用程序,该应用程序连接到MySQL数据库,查询某个表中的数据,并将结果显示在一......
  • Abp.VNext-拆分查询
    Abp默认采用的是拆分查询,优点是提高性能,缺点是使用Linq进行多表关联操作时打印查询字符串得到的SQL语句是单表查询语句。而实际上代码执行的是多表关联查询,容易误导开发人员。例如下列LINQ查询是多表关联,但是得到的查询字符串是单表操作。varquery=(await_blogRepository.G......
  • MySQL查询慢的根本原因
    这里的表空间呢,指的是独立表空间,在MySQL中,表空间分为2种,分别是共享表空间和独立表空间,不过在MySQL5.6.6及后续版本默认使用的是独立表空间,说白了就是一个独立表空间在磁盘中会单独对应一个表空间文件,而一个表空间文件存放着MYSQL数据库中一张表的数据。在表空间中有很多数......
  • 鸿蒙HarmonyOS实战开发:hilog命令行查询
     鸿蒙NEXT开发实战往期必看文章:一分钟了解”纯血版!鸿蒙HarmonyOSNext应用开发!“非常详细的”鸿蒙HarmonyOSNext应用开发学习路线!(从零基础入门到精通)HarmonyOSNEXT应用开发案例实践总结合(持续更新......)HarmonyOSNEXT应用开发性能优化实践总结(持续更新......)HiLog日......
  • SeaCMS(海洋CMS)存在MySQL慢查询漏洞(CNVD-2024-39253、CVE-2024-46640)
    SeaCMS(海洋CMS)是一款开源免费PHP影视系统,因其功能强大,操作使用简单,拥有大量用户。 国家信息安全漏洞共享平台于2024-09-26公布其存在MySQL慢查询漏洞。漏洞编号:CNVD-2024-39253、CVE-2024-46640影响产品:SeaCMS(海洋CMS) 13.2漏洞级别:高公布时间:2024-09-26漏洞描述:攻击者可......
  • cmu15545笔记-查询优化(Query Optimization)
    目录概述Heuristics/RulesCost-basedSearchSinglerelationMutiplerelationGenertive/Bottom-UpTransformation/Top-DownNestedsub-queriesDecomposingQueriesExpression/QueriesRewritingStatistics概述数据库系统的执行流程:从优化器到磁盘所设计的步骤:查询......
  • 深入探索高级SQL技巧:解锁数据查询与分析的无限可能
    深入探索高级SQL技巧:解锁数据查询与分析的无限可能在当今数据驱动的时代,SQL(StructuredQueryLanguage)作为数据库管理和查询的基础语言,其重要性不言而喻。然而,仅仅掌握基本的SELECT、INSERT、UPDATE、DELETE等操作,已难以满足复杂的数据处理需求。本文将深入探讨几个高级SQL......
  • flask毕设城市轨道交通线路查询(论文+程序)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景随着城市化进程的加速,城市轨道交通作为城市交通系统的重要组成部分,其便捷性和高效性日益受到市民的重视。然而,面对日益复杂的城市轨道交通......
  • MySQL进阶:SQL高级技巧 - CTE和递归查询
    ......
  • 使用Mybatis-plus进行分页查询,没有分页效果,查询的数据量超出每页数量设置
    原因:没有开启分页插件。 解决办法:需要新增或者在原myabtis-plus配置类中新增分页插件,具体代码如下importcom.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;importcom.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterc......