Stáhněte aplikaci
Vyberte složku a před úpravou nechte asistenta přečíst příslušné soubory. Určete cíl i hranice úkolu.
Najděte největší obdélník pod sloupci šířky jedna s nejvýše 256 celočíselnými výškami od nuly do 1000000. Ověřte prázdný vstup a stejné výšky, odmítejte záporné či logické hodnoty a vstup neměňte.
Vyberte složku a před úpravou nechte asistenta přečíst příslušné soubory. Určete cíl i hranice úkolu.
Zvolte kompatibilní endpoint. Dostupné nástroje a kvalita odpovědí závisí na nastaveném modelu a serveru.
Kontrolujte změny a výstupy příkazů. Před přijetím výsledku spusťte kontroly projektu; vytvořený kód není automaticky otestovaný.
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 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 bestPřed použitím zkontrolujte. Kontrolujte změny a výstupy příkazů. Před přijetím výsledku spusťte kontroly projektu; vytvořený kód není automaticky otestovaný.