UUnionPebble
Không gian lập trình với AI

Nhóm thành phần rời nhau

Nhóm các đỉnh đánh số qua liên kết vô hướng bằng tập hợp rời nhau.

● ● ●UnionPebble●
Quy trình · Nhóm thành phần rời nhau ×
def components(count, edges):
    if type(count) is not int or not 0 <= count <= 10000:
        raise ValueError("node count")
    pairs = list(edges)
    for pair in pairs:
        if len(pair) != 2 or any(type(v) is not int or not 0 <= v < count for v in pair):
            raise ValueError("edge endpoint")
    parent = list(range(count))
    def find(x):
        while parent[x] != x:
            parent[x] = parent[parent[x]]
            x = parent[x]
        return x
    for a, b in pairs:
        parent[find(b)] = find(a)
    groups = {}
    for node in range(count): groups.setdefault(find(node), []).append(node)
    return sorted(groups.values())
✳Nhóm các đỉnh đánh số qua liên kết vô hướng bằng tập hợp rời nhau.
✓ Thay đổiKiểm tra trước khi áp dụng ↗
Minh họa không gian làm việc
01

Kiểm tra trước khi áp dụng

So sánh hành vi thực tế với kết quả mong đợi. Nếu kiểm tra thất bại, tìm nguyên nhân trước khi sửa tiếp.

02

Mô hình

Cấu hình endpoint tương thích OpenAI hoặc Anthropic bằng URL cơ sở và khóa API nếu cần. Kiểm tra kết nối. Máy chủ mô hình cục bộ phải đang chạy; công cụ từ xa có thể truyền dữ liệu riêng.

03

Dự án

Kiểm tra đỉnh cô lập, cạnh lặp và đồ thị rỗng, từ chối đầu mút sai trước khi hợp nhất.

Quy trình

Nhóm thành phần rời nhau

Quy trình ↗
Quy trình
def components(count, edges):
    if type(count) is not int or not 0 <= count <= 10000:
        raise ValueError("node count")
    pairs = list(edges)
    for pair in pairs:
        if len(pair) != 2 or any(type(v) is not int or not 0 <= v < count for v in pair):
            raise ValueError("edge endpoint")
    parent = list(range(count))
    def find(x):
        while parent[x] != x:
            parent[x] = parent[parent[x]]
            x = parent[x]
        return x
    for a, b in pairs:
        parent[find(b)] = find(a)
    groups = {}
    for node in range(count): groups.setdefault(find(node), []).append(node)
    return sorted(groups.values())
Không gian lập trình với AI

Biến yêu cầu nhóm thành thay đổi phần mềm có thể rà soát

UnionPebble là không gian lập trình AI trên Windows đưa yêu cầu nhóm, mã nguồn và nơi sử dụng vào một cuộc trao đổi phát triển. Bắt đầu bằng mô tả điều ứng dụng coi là liên thông và đầu ra nó mong đợi. Yêu cầu mô hình xem biểu diễn hiện có trước khi gợi ý thay đổi mã tạo nhóm.

Với tác vụ cụ thể, dùng components.py để trao đổi kết nối nối hai nhóm trước đó tách biệt. Thêm nút cô lập vào dữ liệu thử và nêu thứ tự đầu ra mong đợi. Ví dụ giúp xây dựng yêu cầu thay đổi mà không giả định tập hợp tương đương về toán học sẽ đáp ứng mã tuần tự hóa hoặc hiển thị của ứng dụng.

Rà soát đề xuất tại các ranh giới đó. Kiểm tra mã định danh nút hợp lệ, cạnh không hợp lệ và ca rỗng, rồi chạy kiểm tra liên quan của dự án. Kết quả hữu ích phải giải thích cả vì sao thành viên cùng nhóm lẫn vì sao cấu trúc trả về phù hợp nơi sử dụng. Giữ thay đổi lưu trữ hoặc giao diện không liên quan ngoài yêu cầu chỉ nhằm sửa hành vi nhóm.

Kết nối mô hình qua điểm cuối tương thích OpenAI hoặc Anthropic được hỗ trợ, cung cấp thông tin xác thực khi cần. Nếu dịch vụ có mô hình AI đã gỡ cơ chế từ chối, đó là lựa chọn cho phiên làm việc; hạn chế vẫn tùy nhà cung cấp. Công cụ và ngữ cảnh cũng tùy mô hình và máy chủ, nên giới hạn khảo sát trong mã nguồn và bằng chứng phiên làm việc thực sự dùng được.

Công việc nhóm ngoài ví dụ thành công thông thường

Nút cô lập có thuộc đầu ra không?

Nêu rõ kỳ vọng đó. Danh sách cạnh có thể không bao giờ nhắc nút cô lập dù ứng dụng biết nó tồn tại. Thêm số nút khai báo và dữ liệu thử nút cô lập để mã đề xuất không âm thầm bỏ các mục đó khỏi kết quả.

Thứ tự nhóm tương đương có thể làm hỏng mã gọi không?

Có, nếu nơi sử dụng dựa vào thứ tự ổn định để tuần tự hóa, so sánh hoặc trình bày. Nêu thứ tự có thuộc giao diện không rồi xem quy ước đầu ra. Tương đương toán học tự nó không chứng minh tương thích với bản chụp kết quả hoặc xử lý phía sau trong dự án.

Nên xử lý đầu mút ngoài phạm vi thế nào?

Định nghĩa hành vi đầu vào bị từ chối và xem nơi lỗi được thể hiện. Ví dụ kiểm tra mã định danh theo số nút khai báo. Rà soát phản hồi mã gọi thay vì giả định riêng ngoại lệ đã truyền đạt lỗi hữu ích cho người cung cấp dữ liệu nhóm.

Kiểm tra kết nối hợp nhất nhóm thế nào?

Viết độc lập nhóm ban đầu và thành viên sau hợp nhất mong đợi, gồm một nhóm không bị ảnh hưởng. Chạy dữ liệu thử qua mã đã đổi và xem riêng thứ tự. Điều này tạo kết quả trước và sau cụ thể mà không lặp lại triển khai trong kiểm thử.

Tải cho Windows ↗

UnionPebble · Cập nhật 2026-10-25