Leetcode 3123. Find Edges in Shortest Paths

本文介绍了如何使用堆数据结构解决LeetCode题目3123,通过暴力搜索找到在最短路径中的边。作者分享了解题思路和Python代码实现,时间复杂度1911ms,内存占用50.8MB。

1. 解题思路

这一题思路上的话就是一个最短路径的求解问题,我们使用一个堆排即可对其进行实现。

不过,做题的时候挺犹豫的,因为感觉要对每一条路径保留下其历史路径,这个无论是计算开销还是存储开销都挺大的,感觉还是挺暴力的,没想到还真的成功了,也有点意外……

2. 代码实现

给出python代码实现如下:

class Solution:
    def findAnswer(self, n: int, edges: List[List[int]]) -> List[bool]:
        graph = defaultdict(list)
        for i, (u, v, w) in enumerate(edges):
            graph[u].append((v, w, i))
            graph[v].append((u, w, i))
            
        ans = [False for _ in edges]
        distances = [math.inf for _ in range(n)]
        q = [(0, 0, [])]
        while q != []:
            dis, u, edges = heapq.heappop(q)
            if dis > distances[u]:
                continue
            distances[u] = dis
            for v, w, e in graph[u]:
                if dis + w <= distances[v]:
                    heapq.heappush(q, (dis+w, v, edges + [e]))
            if u == n-1:
                for e in edges:
                    ans[e] = True
        return ans

提交代码评测得到:耗时1911ms,占用内存50.8MB。

已经博主授权,源码转载自 https://pan.quark.cn/s/e577710b7191 ### 解决Win10系统中Word文件图标显示不正常问题 #### 问题描述 在Windows 10操作系统中,部分用户遇到Word文档图标呈现非正常状态的问题。具体表现为:本应展示为Microsoft Word图标的DOC或DOCX文件,在系统中却呈现为常规的文本文件图标。这种现象不仅降低了用户的视觉体验,还可能引发一定的操作不便。 #### 解决方案 ##### 方法一:借助注册表编辑来纠正图标显示异常 1. **进行注册表备份**:为了保障系统的稳定性,在开展任何注册表修改之前,必须对注册表进行备份。可以通过“导出”功能来达成备份目的。 - 启动“运行”对话框(快捷键:`Windows + R`),键入`regedit`,随后按回车键进入注册表编辑界面。 - 在注册表编辑界面中,找到菜单栏里的“文件”选项,点击后选择“导出”,依照提示完成注册表备份。 2. **移除相关注册表项**: - 在`HKEY_CLASSES_ROOT`下,删除以下四个注册表项: - `.doc` - `.docx` - `Word.Document.8` - `Word.Document.12` - 在`HKEY_LOCAL_MACHINE\SOFTWARE\Classes`下,同样移除上述四个注册表项。 3. **重新启动计算机**:执行完上述步骤后,重新启动计算机以使修改生效。 #### 方法二:通过调整文件关联来纠正图标显示异常 如果第一种方法未能解决难题,则可以尝试调整文件的关联方式,具体步骤如下: 1. **移除文件关联**: - 在`HKEY_CLASSES_ROOT`下删除`....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值