Class Solution

  • All Implemented Interfaces:

    
    public final class Solution
    
                        

    1319 - Number of Operations to Make Network Connected\.

    Medium

    There are n computers numbered from 0 to n - 1 connected by ethernet cables connections forming a network where <code>connectionsi = a<sub>i</sub>, b<sub>i</sub></code> represents a connection between computers <code>a<sub>i</sub></code> and <code>b<sub>i</sub></code>. Any computer can reach any other computer directly or indirectly through the network.

    You are given an initial computer network connections. You can extract certain cables between two directly connected computers, and place them between any pair of disconnected computers to make them directly connected.

    Return the minimum number of times you need to do this in order to make all the computers connected. If it is not possible, return -1.

    Example 1:

    Input: n = 4, connections = \[\[0,1],0,2,1,2]

    Output: 1

    Explanation: Remove cable between computer 1 and 2 and place between computers 1 and 3.

    Example 2:

    Input: n = 6, connections = \[\[0,1],0,2,0,3,1,2,1,3]

    Output: 2

    Example 3:

    Input: n = 6, connections = \[\[0,1],0,2,0,3,1,2]

    Output: -1

    Explanation: There are not enough cables.

    Constraints:

    • <code>1 <= n <= 10<sup>5</sup></code>

    • <code>1 <= connections.length <= min(n * (n - 1) / 2, 10<sup>5</sup>)</code>

    • connections[i].length == 2

    • <code>0 <= a<sub>i</sub>, b<sub>i</sub>< n</code>

    • <code>a<sub>i</sub> != b<sub>i</sub></code>

    • There are no repeated connections.

    • No two computers are connected by more than one cable.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
      Solution()
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      final Integer makeConnected(Integer totalNumberOfComputers, Array<IntArray> connections)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait