讨论/题目交流/🏆 第 173 场力扣周赛/
🏆 第 173 场力扣周赛

欢迎小伙伴们在这里交流分享你的参赛心得以及体验。【前往竞赛

image.png

3 分 - 删除回文子序列
4 分 - 餐厅过滤器
5 分 - 阈值距离内邻居最少的城市
6 分 - 工作计划的最低难度

展开讨论
力扣 (LeetCode)发起于 2020-01-26

求解我这题错在哪儿,第40个示例一直过不去,结果是33,可是我算出来的是27.。。。。

class Solution:
    def findTheCity(self, n: int, edges: List[List[int]], distanceThreshold: int) -> int:
        path = [[] for _ in range(n)]
        ans = [0 for _ in range(n)]
        for edge in edges:
            path[edge[0]].append((edge[1], edge[2]))
            path[edge[1]].append((edge[0], edge[2]))
        for i in range(n):
            vis, val = set(), set()
            vis.add(i)
            self.help(path, i, 0, distanceThreshold, vis, val)
            # print(val)
            ans[i] = len(val)
        mx, res = min(ans), 0
        for i in range(n):
            if ans[i] == mx:
                res = i
        return res
            
    def help(self, path, i, w, distanceThreshold, vis, val):
        for j in path[i]:
            if j[0] not in vis and w + j[1] <= distanceThreshold:
                val.add(j[0])
                vis.add(j[0])
                self.help(path, j[0], w + j[1], distanceThreshold, vis, val)
1
展开全部 11 讨论