BBarCumulus
Pracovní prostředí s AI pro kód

Největší obdélník histogramu

Najděte největší obdélník pod sloupci šířky jedna s nejvýše 256 celočíselnými výškami od nuly do 1000000.

● ● ●BarCumulus●
Pracovní postupy · Největší obdélník histogramu ×
def histogram_area(heights):
    heights = tuple(heights)
    if len(heights) > 256 or any(type(h) is not int or not 0 <= h <= 1000000 for h in heights):
        raise ValueError("height.range")
    stack, best = [], 0
    for i in range(len(heights) + 1):
        current = heights[i] if i < len(heights) else 0
        while stack and heights[stack[-1]] > current:
            height = heights[stack.pop()]
            start = stack[-1] + 1 if stack else 0
            best = max(best, height * (i - start))
        stack.append(i)
    return best
✳Najděte největší obdélník pod sloupci šířky jedna s nejvýše 256 celočíselnými výškami od nuly do 1000000.
✓ ZměnyPřed použitím zkontrolujte ↗
Ilustrace pracovního prostředí
01

Projekt

Ověřte prázdný vstup a stejné výšky, odmítejte záporné či logické hodnoty a vstup neměňte.

02

Před použitím zkontrolujte

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.

03

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ě.

Pracovní postupy

Největší obdélník histogramu

Pracovní postupy ↗
Pracovní postupy
def histogram_area(heights):
    heights = tuple(heights)
    if len(heights) > 256 or any(type(h) is not int or not 0 <= h <= 1000000 for h in heights):
        raise ValueError("height.range")
    stack, best = [], 0
    for i in range(len(heights) + 1):
        current = heights[i] if i < len(heights) else 0
        while stack and heights[stack[-1]] > current:
            height = heights[stack.pop()]
            start = stack[-1] + 1 if stack else 0
            best = max(best, height * (i - start))
        stack.append(i)
    return best
Pracovní prostředí s AI pro kód

Než změníte podobu kódu, určete, co musí refaktoring zachovat

BarCumulus je prostředí pro programování s AI ve Windows pro kontrolu změny implementace při zachování zamýšleného chování. Otevřete složku projektu a vysvětlete důvod refaktoringu: přehlednější stav, menší pomocná funkce nebo snazší testování. Než model navrhne náhradu, požádejte jej o kontrolu stávajícího kontraktu.

Můžete připojit model AI bez cenzury, pokud jej nabízí váš podporovaný koncový bod kompatibilní s OpenAI nebo koncový bod Anthropic. Podle potřeby přidejte přihlašovací údaje. Omezení poskytovatele, schopnosti nástrojů a limity kontextu stále platí, proto rozhovor využijte k vytvoření odůvodnění, které lze prověřit, místo abyste jinak vypadající implementaci považovali samu o sobě za zlepšení.

Jedním příkladem je výpočet maximálního obdélníku nad výškami sloupců. Požádejte o kontrolu zacházení s plošinami, prázdným vstupem a závěrečnou čekající prací. Přiložte malé testovací případy s ručně ověřenými výsledky a zeptejte se modelu, které části návrhu je zachovávají a které mění.

Prohlédněte výsledné rozdíly a spusťte kontroly projektu na stejné verzi, kterou hodláte ponechat. U složitých změn porovnejte malé vstupy s nezávislou jednoduchou implementací. Takové porovnání je důkazem v testovaném rozsahu; nedělá z programovacího prostředí automatický dokazovací systém.

Jak udržet refaktoring ověřitelný

Jaký je užitečný důvod požadovat refaktoring algoritmu?

Pojmenujte problém údržby, který můžete posoudit, například nejasné přechody stavů nebo duplicitní zpracování. Požádejte o nejmenší návrh, který jej řeší. Náhrada má obstát čitelností a ověřeným chováním, nikoli pouhou novostí.

Proč zahrnout mezi testovací případy sloupce stejné výšky?

Shodné hodnoty mohou odhalit předpoklady o tom, kdy se čekající stav ponechává nebo odstraňuje. Zahrňte krátkou plošinu se známým výsledkem. Před kontrolou větších příkladů požádejte model o vysvětlení tohoto případu na navržené implementaci.

Dokazuje diferenciální testování ekvivalenci dvou implementací?

Podporuje ekvivalenci pro testované vstupy a může odhalit neshody. Udržujte rozsah vstupů a referenční implementaci zřejmé a prozkoumejte rozdíly. Konečné testování nepopisujte jako důkaz pro každý možný vstup přijímaný produkční funkcí.

Jak prověřit navržený porovnávací skript?

Před spuštěním si přečtěte jeho meze vstupů a plán provádění. Ověřte také cíle nástrojů: lokální inference modelu vyžaduje samostatný server a nezajišťuje lokální běh všech připojených prováděcích nástrojů. Testovací zátěž udržujte záměrně malou.

Stáhnout pro Windows ↗

BarCumulus · Aktualizováno 2026-10-25