Espace de développement avec IA
Somme contiguë maximale
Trouvez la somme contiguë maximale parmi 1000 entiers au plus, bornés en valeur absolue à un milliard, avec somme et bornes exclusives.
● ● ●SpanKestrel●
Méthodes de travail · Somme contiguë maximale ×
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✳Trouvez la somme contiguë maximale parmi 1000 entiers au plus, bornés en valeur absolue à un milliard, avec somme et bornes exclusives.
✓ ModificationsVérifiez avant d’appliquer ↗
Illustration de l’espace de travail
- Modèles
- Configurez un endpoint compatible OpenAI ou Anthropic avec son URL de base et une clé API si nécessaire. Testez la connexion. Un serveur local doit fonctionner ; les outils distants peuvent transmettre des données séparément.
- Projet
- Testez les valeurs toutes négatives et l’entrée vide, en départageant par le premier début puis la première fin.
- Vérifiez avant d’appliquer
- Comparez le comportement observé au résultat attendu. Si une vérification échoue, cherchez la cause avant de poursuivre les modifications.
Méthodes de travail
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