The number of operations [Swift] LeetCode1319 communication network |. Number of Operations to Make Network Connected

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤ micro-channel public number: Shan Wing Chi ( let_us_code)
➤ bloggers domain: https://www.zengqiang.org
➤GitHub address: https://github.com/strengthen/LeetCode
➤ original address: https://www.cnblogs.com/strengthen/p/12185585 .html
➤ If the address is not a link blog Park Yong Shan Chi, it may be crawling author of the article.
➤ text has been modified update! Click strongly recommended that the original address read! Support authors! Support the original!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

 

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

 

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's 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.
Example 4:

 

Input: n = 5, connections = [[0,1],[0,2],[3,4],[2,3]]
Output: 0
 

 

Constraints:

 

1 <= n <= 10^5
1 <= connections.length <= min(n*(n-1)/2, 10^5)
connections[i].length == 2
0 <= connections[i][0], connections[i][1] < n
connections[i][0] != connections[i][1]
There are no repeated connections.
No two computers are connected by more than one cable.

 


N with an Ethernet cable is connected to a computer network, the computer numbered from 0 to n-1. Represented by cable connections, which connections [i] = [a, b] is connected to a computer a and b.

The network any computer can access the same network indirectly other directly or through any computer network.

The initial wiring connections to your computer network, you can unplug any two straight cable between the computer and use it to connect a pair of computers are not directly connected. Please calculate and return all computers are communicating the minimum number of operations required. If this is not -1. 

 

Example 1:

 

Input: n = 4, connections = [ [0,1], [0,2], [1,2]]
Output: 1
Explanation: unplug the cable between the computer 1 and 2, and plug it into the computer and the upper 13.
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: insufficient number of cables.
Example 4:

Input: n = 5, connections = [ [0,1], [0,2], [3,4], [2,3]]
Output: 0
 

prompt:

. 1 <= n-<^ = 10. 5
. 1 <= connections.length <= min (n-* (n--. 1) / 2, 10 ^. 5)
Connections [I] .length 2 ==
0 <= Connections [I] [ 0], connections [I] [. 1] <n-
connections [I] [0]! = connections [I] [. 1]
does not duplicate connection.
Two computers are not connected by multiple cables.

Guess you like

Origin www.cnblogs.com/strengthen/p/12185585.html