UUnionPebble
พื้นที่เขียนโค้ดด้วย AI

การจัดกลุ่มองค์ประกอบแยกกัน

จัดกลุ่มโหนดที่มีหมายเลขด้วยเส้นเชื่อมไร้ทิศทางและเซตไม่ทับกัน.

● ● ●UnionPebble●
ขั้นตอนการทำงาน · การจัดกลุ่มองค์ประกอบแยกกัน ×
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())
✳จัดกลุ่มโหนดที่มีหมายเลขด้วยเส้นเชื่อมไร้ทิศทางและเซตไม่ทับกัน.
✓ การเปลี่ยนแปลงตรวจสอบก่อนนำไปใช้ ↗
ภาพประกอบพื้นที่ทำงาน
01

ตรวจสอบก่อนนำไปใช้

เปรียบเทียบการทำงานจริงกับผลที่คาดหวัง หากการตรวจสอบไม่ผ่าน ให้หาสาเหตุก่อนแก้ไขเพิ่มเติม

02

โมเดล

ตั้งค่า endpoint ที่รองรับ OpenAI หรือ Anthropic ด้วย URL หลักและคีย์ API หากจำเป็น ทดสอบการเชื่อมต่อ เซิร์ฟเวอร์โมเดลในเครื่องต้องทำงานอยู่ เครื่องมือระยะไกลอาจส่งข้อมูลแยกต่างหาก

03

โปรเจกต์

ทดสอบโหนดเดี่ยว เส้นซ้ำ และกราฟว่าง พร้อมปฏิเสธปลายทางผิดก่อนรวมกลุ่ม.

ขั้นตอนการทำงาน

การจัดกลุ่มองค์ประกอบแยกกัน

ขั้นตอนการทำงาน ↗
ขั้นตอนการทำงาน
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())
พื้นที่เขียนโค้ดด้วย AI

เปลี่ยนข้อกำหนดการจัดกลุ่มให้เป็นการแก้ซอฟต์แวร์ที่ตรวจได้

UnionPebble คือพื้นที่ทำงานเขียนโค้ดด้วย AI บน Windows เพื่อนำข้อกำหนดการจัดกลุ่ม ซอร์สโค้ด และส่วนใช้ผลมาสู่บทสนทนาพัฒนาเดียวกัน เริ่มจากอธิบายสิ่งที่แอปถือว่าเชื่อมต่อกันและสิ่งที่คาดว่าจะได้รับ ขอให้โมเดลตรวจรูปแบบข้อมูลเดิมก่อนเสนอเปลี่ยนโค้ดสร้างกลุ่ม

สำหรับงานที่เป็นรูปธรรม ใช้ components.py คุยเรื่องการเชื่อมที่รวมสองกลุ่มซึ่งเดิมแยกกัน รวมโหนดโดดเดี่ยวในชุดข้อมูลและระบุลำดับผลที่คาดหวัง ตัวอย่างช่วยกำหนดคำขอแก้ไขโดยไม่คิดว่าคอลเลกชันที่เทียบเท่าทางคณิตศาสตร์จะตรงความต้องการโค้ดแปลงเก็บหรือแสดงผลของแอปเสมอ

ตรวจข้อเสนอที่ขอบเขตเหล่านั้น ตรวจรหัสโหนดที่ยอมรับ เส้นเชื่อมผิด และกรณีว่าง แล้วรันการตรวจโปรเจกต์ที่เกี่ยวข้อง ผลที่มีประโยชน์ควรอธิบายทั้งเหตุผลที่สมาชิกอยู่กลุ่มเดียวกันและเหตุผลที่โครงสร้างผลตรงกับส่วนใช้ผล อย่ารวมการเปลี่ยนที่เก็บข้อมูลหรือส่วนติดต่อที่ไม่เกี่ยวข้องในคำขอแก้พฤติกรรมจัดกลุ่ม

เชื่อมต่อโมเดลผ่านปลายทางที่รองรับ OpenAI-compatible หรือ Anthropic พร้อมข้อมูลรับรองเมื่อจำเป็น หากบริการนั้นมีโมเดล AI แบบ abliterated ที่ปรับลดการปฏิเสธ ก็เป็นตัวเลือกสำหรับการทำงาน โดยข้อจำกัดยังขึ้นกับผู้ให้บริการ เครื่องมือและบริบทที่ใช้ได้ขึ้นกับโมเดลและเซิร์ฟเวอร์ด้วย จึงควรจำกัดการตรวจเฉพาะซอร์สและหลักฐานที่ใช้ได้จริงในการทำงานนั้น

ตรวจงานจัดกลุ่มให้เกินกว่ากรณีสำเร็จทั่วไป

ควรรวมโหนดโดดเดี่ยวในผลหรือไม่?

ระบุความคาดหวังนั้นให้ชัด รายการเส้นเชื่อมอาจไม่กล่าวถึงโหนดโดดเดี่ยวเลยแม้แอปยังรู้ว่ามีอยู่ รวมจำนวนโหนดที่ประกาศและตัวอย่างโดดเดี่ยว เพื่อไม่ให้โค้ดที่เสนอตัดรายการเหล่านั้นจากผลอย่างเงียบ ๆ

ลำดับกลุ่มที่เทียบเท่ากันทำให้ผู้เรียกเสียได้หรือไม่?

ได้ หากส่วนใช้ผลพึ่งลำดับคงที่เพื่อแปลงเก็บ เปรียบเทียบ หรือแสดงผล ระบุว่าลำดับเป็นส่วนของส่วนติดต่อหรือไม่ แล้วตรวจข้อตกลงผลลัพธ์ ความเทียบเท่าทางคณิตศาสตร์เพียงอย่างเดียวไม่พิสูจน์ความเข้ากันได้กับสแนปช็อตหรือการประมวลผลขั้นถัดไปในโปรเจกต์

ควรเกิดอะไรกับปลายเส้นเชื่อมที่อยู่นอกช่วง?

กำหนดพฤติกรรมอินพุตที่ปฏิเสธและตรวจจุดแสดงข้อผิดพลาด ตัวอย่างตรวจรหัสตามจำนวนโหนดที่ประกาศ ตรวจการตอบสนองผู้เรียก แทนถือว่าข้อยกเว้นอย่างเดียวสื่อข้อผิดพลาดที่มีประโยชน์ต่อผู้ส่งข้อมูลจัดกลุ่ม

ตรวจการเชื่อมที่รวมกลุ่มได้อย่างไร?

เขียนกลุ่มเริ่มต้นและสมาชิกหลังรวมที่คาดหวังอย่างอิสระ รวมกลุ่มที่ไม่ถูกกระทบ รันชุดข้อมูลผ่านโค้ดที่แก้และตรวจลำดับแยก เพื่อให้มีผลก่อนและหลังที่เป็นรูปธรรมโดยไม่ลอกวิธีเขียนมาใส่การทดสอบ

ดาวน์โหลดสำหรับ Windows ↗

UnionPebble · อัปเดตล่าสุด 2026-10-25