java.lang.Object
g1501_1600.s1584_min_cost_to_connect_all_points.Solution

public class Solution extends Object
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:** ![](https://assets.leetcode.com/uploads/2020/08/26/d.png) **Input:** points = \[\[0,0],[2,2],[3,10],[5,2],[7,0]] **Output:** 20 **Explanation:** ![](https://assets.leetcode.com/uploads/2020/08/26/c.png) 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 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)