Phỏng vấn top 150Dễ dàng

Chi phí tối thiểu để kết nối tất cả các điểm

Hướng dẫn chi tiết và cách triển khai Python cho bài toán 'Chi phí tối thiểu để kết nối tất cả các điểm'.

Tuyên bố vấn đề

Dễ dàng

Bạn được cấp một mảng các điểm biểu thị tọa độ nguyên của một số điểm trên mặt phẳng 2D, trong đó điểm[i] = [xi, yi].

Chi phí để nối hai điểm [xi, yi] và [xj, yj] là khoảng cách Manhattan giữa chúng: |xi - xj| + |yi - yj|, ở đâu |val| là giá trị tuyệt đối của val.

Trả về chi phí tối thiểu để làm cho tất cả các điểm được kết nối. Tất cả các điểm được kết nối nếu có chính xác một đường đi đơn giữa hai điểm bất kỳ.

Viết hàm minCostConnectPoints(points: List[List[int]]) -> int.

Ràng buộc
  • 1 <= len(points) <= 1000
  • -10^6 <= xi, yi <= 10^6
  • All points are distinct

Ví dụ

Example 1
Input
points = [[0,0],[2,2],[3,10],[5,2],[7,0]]
Output
20
Explanation

Connect points as: (0,0)-(2,2) cost 4, (2,2)-(5,2) cost 3, (5,2)-(7,0) cost 4, (2,2)-(3,10) cost 9. Total = 20.

Example 2
Input
points = [[3,12],[-2,5],[-4,1]]
Output
18
Explanation

Connecting points: (-4,1) to (-2,5) with cost 6, (-2,5) to (3,12) with cost 12. Total 18.

Need a Hint?
Hãy cân nhắc sử dụng các cấu trúc dữ liệu dành riêng cho Đồ thị nâng cao như tập hợp hoặc vùng heap.
Edge Cases to Watch
  • Cấu trúc đầu vào trống
  • Đầu vào phần tử đơn
  • Giới hạn số lớn

Sẵn sàng để giải quyết?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Mở trong Trình chỉnh sửa
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Tài nguyên Python được đề xuất

Mở rộng kiến thức của bạn với các hướng dẫn tương tác, bảng ghi chú và so sánh mã có liên quan.