Pracovní prostředí s AI pro kód
Největší součet souvislého úseku
Najdi největší součet souvislého úseku nejvýše 1000 celých čísel s absolutní hodnotou do miliardy a vrať součet i výlučné meze.
● ● ●SpanKestrel●
Pracovní postupy · Největší součet souvislého úseku ×
def maximum_subarray(values):
if type(values) not in (list, tuple) or len(values) > 1000 or any(type(v) is not int or abs(v) > 10**9 for v in values):
raise ValueError("subarray.input")
if not values:
return None
best = None
total, start = 0, 0
for end, value in enumerate(values, 1):
if total < 0:
total, start = 0, end - 1
total += value
candidate = (total, start, end)
if best is None or (-total, start, end) < (-best[0], best[1], best[2]):
best = candidate
return best✳Najdi největší součet souvislého úseku nejvýše 1000 celých čísel s absolutní hodnotou do miliardy a vrať součet i výlučné meze.
✓ ZměnyPřed použitím zkontrolujte ↗
Ilustrace pracovního prostředí
- 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ě.
- Projekt
- Otestuj samé záporné hodnoty a prázdný vstup, při shodě zvol nejranější začátek a pak konec.
- 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.
Pracovní postupy
def maximum_subarray(values):
if type(values) not in (list, tuple) or len(values) > 1000 or any(type(v) is not int or abs(v) > 10**9 for v in values):
raise ValueError("subarray.input")
if not values:
return None
best = None
total, start = 0, 0
for end, value in enumerate(values, 1):
if total < 0:
total, start = 0, end - 1
total += value
candidate = (total, start, end)
if best is None or (-total, start, end) < (-best[0], best[1], best[2]):
best = candidate
return best