Modely
Nastavte endpoint kompatibilní s OpenAI nebo Anthropic pomocí základní URL a případného API klíče. Otestujte připojení. Lokální server modelu musí běžet; vzdálené nástroje mohou data odesílat samostatně.
Obnovte binární strom z průchodů preorder a inorder s nejvýše 100 různými celočíselnými značkami.
def rebuild_tree(preorder, inorder):
for row in (preorder,inorder):
if type(row) not in (list,tuple) or len(row) > 100 or any(type(v) is not int for v in row):
raise ValueError("at most 100 integer nodes")
if len(set(preorder)) != len(preorder) or len(set(inorder)) != len(inorder) or set(preorder) != set(inorder):
raise ValueError("same distinct node labels")
positions, cursor = {v:i for i,v in enumerate(inorder)}, 0
def visit(lo,hi):
nonlocal cursor
if lo == hi: return None
value = preorder[cursor]; cursor += 1
at = positions[value]
if not lo <= at < hi: raise ValueError("inconsistent traversals")
left = visit(lo,at)
right = visit(at+1,hi)
return value,left,right
return visit(0,len(inorder))Nastavte endpoint kompatibilní s OpenAI nebo Anthropic pomocí základní URL a případného API klíče. Otestujte připojení. Lokální server modelu musí běžet; vzdálené nástroje mohou data odesílat samostatně.
Ověřte prázdné a jednostranné stromy a odmítněte neslučitelné průchody či opakované značky bez změny vstupů.
Porovnejte skutečné chování s očekávaným výsledkem. Pokud kontrola selže, před dalšími změnami zjistěte příčinu.
def rebuild_tree(preorder, inorder):
for row in (preorder,inorder):
if type(row) not in (list,tuple) or len(row) > 100 or any(type(v) is not int for v in row):
raise ValueError("at most 100 integer nodes")
if len(set(preorder)) != len(preorder) or len(set(inorder)) != len(inorder) or set(preorder) != set(inorder):
raise ValueError("same distinct node labels")
positions, cursor = {v:i for i,v in enumerate(inorder)}, 0
def visit(lo,hi):
nonlocal cursor
if lo == hi: return None
value = preorder[cursor]; cursor += 1
at = positions[value]
if not lo <= at < hi: raise ValueError("inconsistent traversals")
left = visit(lo,at)
right = visit(at+1,hi)
return value,left,right
return visit(0,len(inorder))Strukturovaná data mohou projít základními kontrolami příslušnosti prvků, a přesto nepopisovat platnou strukturu. BranchSpire je prostředí pro programování s AI ve Windows, kde lze tuto mezeru zkoumat se soubory projektu před očima. Než požádáte o změny kódu, začněte rozhovor o vstupním kontraktu a objektu, který volající očekává.
Konkrétní úlohou je kontrola rekonstrukce z průchodů preorder a inorder. Dodejte malý platný strom a nekonzistentní dvojici průchodů a požádejte připojený model, aby prozkoumal, kde je implementace rozlišuje. Uveďte požadavek jedinečných označení, aby navržený kód potichu nepředpokládal jedinečnost, kterou volající nezajistil.
Prověřte okolní rozhraní i rekurzivní logiku. Rozhodněte, jak hlásit neplatná data a zda volající závisejí na konkrétní reprezentaci návratové hodnoty. Ve vlastním projektu spusťte testovací případy prázdného vstupu, jediného uzlu a neplatných kombinací. Úspěšný příklad dokládá jednu cestu; výslovné případy odmítnutí pomáhají stanovit hranici přijímaných dat.
BranchSpire se připojuje k podporovaným koncovým bodům kompatibilním s OpenAI nebo koncovým bodům Anthropic, podle potřeby s přihlašovacími údaji. Můžete zvolit dostupný abliterovaný model AI; jeho server určuje nástroje a limity kontextu. Připojení použijte k rozpracování a zpochybnění návrhu a potom posuďte změny a výsledky spuštění podle struktury požadované vaší aplikací.
Pořadí průchodů musí také popisovat konzistentní strukturu. Při diskusi o úloze zahrňte neplatné pořadí se stejnými označeními. Požádejte model o určení místa, kde navržená implementace tuto nekonzistenci rozpozná.
Pouze pokud je kontrakt rekonstrukce výslovně podporuje. Ilustrovaná úloha předpokládá jedinečná označení. Prověřte validaci společně s volajícími, aby byl nejednoznačný vstup záměrně odmítnut, místo aby vznikla struktura založená na nezdokumentovaném předpokladu.
Určete reprezentaci uzlu, hodnotu prázdného stromu a pořadí potomků očekávané uživateli výstupu. I matematicky ekvivalentní strom může narušit integraci, pokud se změní jeho reprezentace. Než přijmete širší refaktoring, prohlédněte příslušný navazující kód.
Dodejte krátké testovací případy se známými výsledky a požádejte o vysvětlení hranic a chybových cest. Prohlédněte skutečné rozdíly zdrojového kódu a pak případy spusťte nástroji projektu. Nespoléhejte na dlouhý slovní výklad bez odpovídajících kontrol.
BranchSpire · Aktualizováno 2026-10-25