파비의 매일매일 공부기록

2023.03.23 Today's Challenge 본문

Problem Solving/LeetCode

2023.03.23 Today's Challenge

fabichoi 2023. 3. 23. 23:45

https://leetcode.com/problems/number-of-operations-to-make-network-connected/

 

Number of Operations to Make Network Connected - LeetCode

Can you solve this real interview question? Number of Operations to Make Network Connected - There are n computers numbered from 0 to n - 1 connected by ethernet cables connections forming a network where connections[i] = [ai, bi] represents a connection b

leetcode.com

오늘은 DFS로 푸는 문제!

class Solution:
    def makeConnected(self, n: int, connections: List[List[int]]) -> int:
        if len(connections) < n - 1:
            return -1

        g = [set() for i in range(n)]
        for u, v in connections:
            g[u].add(v)
            g[v].add(u)
        
        visited = [0] * n

        def dfs(node):
            if visited[node]:
                return 0
            visited[node] = 1
            for neighbor in g[node]:
                dfs(neighbor)
            return 1
        
        return sum(dfs(node) for node in range(n)) - 1
반응형

'Problem Solving > LeetCode' 카테고리의 다른 글

2023.03.25 Today's Challenge  (0) 2023.03.25
2023.03.24 Today's Challenge  (0) 2023.03.24
2023.03.22 Today's Challenge  (0) 2023.03.22
2023.03.21 Today's Challenge  (0) 2023.03.21
2023.03.20 Today's Challenge  (0) 2023.03.20
Comments