Środowisko programowania z AI
Maksymalna suma spójnego fragmentu
Znajdź maksymalną sumę spójnego fragmentu do 1000 liczb całkowitych o module do miliarda wraz z sumą i granicami końca wyłącznego.
● ● ●SpanKestrel●
Sposoby pracy · Maksymalna suma spójnego fragmentu ×
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✳Znajdź maksymalną sumę spójnego fragmentu do 1000 liczb całkowitych o module do miliarda wraz z sumą i granicami końca wyłącznego.
✓ ZmianySprawdź przed zastosowaniem ↗
Ilustracja środowiska
- Modele
- Dodaj endpoint zgodny z OpenAI lub Anthropic, podając bazowy URL i klucz API, jeśli jest wymagany. Sprawdź połączenie. Lokalny serwer modelu musi działać; zdalne narzędzia mogą przesyłać dane oddzielnie.
- Projekt
- Sprawdź same liczby ujemne i pustą listę, rozstrzygając remisy najpierw najwcześniejszym początkiem, potem końcem.
- Sprawdź przed zastosowaniem
- Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.
Sposoby pracy
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