UUnionPebble
KI-Arbeitsumgebung für Code

Gruppierung disjunkter Komponenten

Gruppiere nummerierte Knoten anhand ungerichteter Verbindungen mit disjunkten Mengen.

● ● ●UnionPebble●
Arbeitsabläufe · Gruppierung disjunkter Komponenten ×
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())
✳Gruppiere nummerierte Knoten anhand ungerichteter Verbindungen mit disjunkten Mengen.
✓ ÄnderungenVor dem Anwenden prüfen ↗
Illustration der Arbeitsumgebung
01

Vor dem Anwenden prüfen

Vergleichen Sie das tatsächliche Verhalten mit dem erwarteten Ergebnis. Klären Sie fehlgeschlagene Prüfungen vor weiteren Änderungen.

02

Modelle

Richten Sie einen OpenAI-kompatiblen oder Anthropic-Endpunkt mit Basis-URL und gegebenenfalls API-Schlüssel ein. Testen Sie die Verbindung. Ein lokaler Modellserver muss laufen; entfernte Werkzeuge können Daten separat übertragen.

03

Projekt

Prüfe isolierte Knoten, wiederholte Kanten und den leeren Graphen und lehne ungültige Endpunkte vor jeder Vereinigung ab.

Arbeitsabläufe

Gruppierung disjunkter Komponenten

Arbeitsabläufe ↗
Arbeitsabläufe
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())
KI-Arbeitsumgebung für Code

Gruppierungsanforderungen in eine prüfbare Softwareänderung übersetzen

UnionPebble ist eine KI-Programmierumgebung für Windows, die Gruppierungsanforderungen, Quellcode und Verbraucher in einem Entwicklungsgespräch zusammenführt. Beschreiben Sie zunächst, was die Anwendung als verbunden ansieht und welches Ergebnis sie erwartet. Lassen Sie das Modell die bestehende Darstellung prüfen, bevor es Änderungen am gruppenbildenden Code vorschlägt.

Nutzen Sie als konkrete Aufgabe components.py, um eine Verbindung zu besprechen, die zwei bisher getrennte Gruppen vereint. Nehmen Sie einen isolierten Knoten in den Testfall auf und geben Sie die erwartete Ausgabereihenfolge an. Das Beispiel hilft bei der Formulierung einer Änderungsanfrage, ohne anzunehmen, eine mathematisch gleichwertige Sammlung erfülle die Anforderungen des Serialisierungs- oder Anzeigecodes.

Prüfen Sie den Vorschlag an diesen Grenzen. Kontrollieren Sie akzeptierte Knotenkennungen, ungültige Kanten und den leeren Fall und führen Sie dann relevante Projektprüfungen aus. Ein nützliches Ergebnis sollte erklären, warum Mitglieder zusammengehören und warum die zurückgegebene Struktur zum Verbraucher passt. Halten Sie unabhängige Speicher- oder Oberflächenänderungen aus einer Anfrage heraus, die Gruppierungsverhalten korrigieren soll.

Verbinden Sie ein Modell über einen unterstützten OpenAI-kompatiblen oder Anthropic-Endpunkt und geben Sie bei Bedarf Zugangsdaten an. Bietet dieser Dienst ein abliteriertes KI-Modell an, ist es eine Option für die Sitzung; Einschränkungen bleiben anbieterabhängig. Verfügbare Werkzeuge und Kontext hängen ebenfalls von Modell und Server ab. Begrenzen Sie die Untersuchung daher auf Quelltext und Belege, die die Sitzung tatsächlich nutzen kann.

Gruppierungsarbeit über einen einfachen Erfolgsfall hinaus

Gehören isolierte Knoten in die Ausgabe?

Legen Sie diese Erwartung ausdrücklich fest. Eine Kantenliste erwähnt einen isolierten Knoten möglicherweise nie, obwohl die Anwendung von seiner Existenz weiß. Geben Sie die deklarierte Knotenanzahl und einen isolierten Testfall an, damit der Code solche Einträge nicht stillschweigend verwerfen kann.

Können gleichwertige Gruppenreihenfolgen einen Aufrufer beeinträchtigen?

Ja, wenn ein Verbraucher auf stabile Serialisierung, Vergleiche oder Darstellungsreihenfolge angewiesen ist. Geben Sie an, ob Reihenfolge Teil der Schnittstelle ist, und prüfen Sie die Ausgabekonvention. Mathematische Gleichwertigkeit allein belegt keine Kompatibilität mit Snapshots oder nachgelagerter Verarbeitung im Projekt.

Was soll bei einem Endpunkt außerhalb des Bereichs geschehen?

Definieren Sie das Ablehnungsverhalten und prüfen Sie, wo es sichtbar wird. Das Beispiel validiert Kennungen anhand der deklarierten Knotenanzahl. Prüfen Sie die Reaktion des Aufrufers, statt anzunehmen, eine Ausnahme allein vermittle dem Lieferanten der Gruppierungsdaten einen nützlichen Fehler.

Wie prüfe ich eine Verbindung, die Gruppen zusammenführt?

Schreiben Sie ursprüngliche Gruppen und erwartete vereinte Mitgliedschaft unabhängig auf, einschließlich einer unbetroffenen Gruppe. Führen Sie den Testfall durch den geänderten Code aus und prüfen Sie die Reihenfolge getrennt. So erhält die Prüfung ein konkretes Vorher-Nachher-Ergebnis, ohne die Implementierung im Test zu wiederholen.

Für Windows herunterladen ↗

UnionPebble · Aktualisiert 2026-10-25