Class Solution
java.lang.Object
g1501_1600.s1584_min_cost_to_connect_all_points.Solution
1584 - Min Cost to Connect All Points\.
Medium
You are given an array `points` representing integer coordinates of some points on a 2D-plane, where
points[i] = [xi, yi]
.
The cost of connecting two points [xi, yi]
and [xj, yj]
is the **manhattan distance** between them: |xi - xj| + |yi - yj|
, where `|val|` denotes the absolute value of `val`.
Return _the minimum cost to make all points connected._ All points are connected if there is **exactly one** simple path between any two points.
**Example 1:**

**Input:** points = \[\[0,0],[2,2],[3,10],[5,2],[7,0]]
**Output:** 20
**Explanation:** 
We can connect the points as shown above to get the minimum cost of 20.
Notice that there is a unique path between every pair of points.
**Example 2:**
**Input:** points = \[\[3,12],[-2,5],[-4,1]]
**Output:** 18
**Constraints:**
* `1 <= points.length <= 1000`
* -106 <= xi, yi <= 106
* All pairs (xi, yi)
are distinct.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
constructMST
(int[] parent, int[][] points, boolean[] mst, PriorityQueue<g1501_1600.s1584_min_cost_to_connect_all_points.Solution.Pair> pq, int[] dist) boolean
containsFalse
(boolean[] mst) int
getDistance
(int[] p1, int[] p2) int
minCostConnectPoints
(int[][] points)
-
Constructor Details
-
Solution
public Solution()
-
-
Method Details
-
minCostConnectPoints
public int minCostConnectPoints(int[][] points) -
constructMST
public void constructMST(int[] parent, int[][] points, boolean[] mst, PriorityQueue<g1501_1600.s1584_min_cost_to_connect_all_points.Solution.Pair> pq, int[] dist) -
containsFalse
public boolean containsFalse(boolean[] mst) -
getDistance
public int getDistance(int[] p1, int[] p2)
-