Ruang kerja kode dengan AI
Jumlah berurutan maksimum
Temukan jumlah berurutan terbesar dalam paling banyak 1000 bilangan bulat bermagnitudo hingga satu miliar dengan jumlah dan batas akhir eksklusif.
● ● ●SpanKestrel●
Alur kerja · Jumlah berurutan maksimum ×
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✳Temukan jumlah berurutan terbesar dalam paling banyak 1000 bilangan bulat bermagnitudo hingga satu miliar dengan jumlah dan batas akhir eksklusif.
✓ PerubahanTinjau sebelum menerapkan ↗
Ilustrasi ruang kerja
- Model
- Atur endpoint kompatibel OpenAI atau Anthropic dengan URL dasar dan kunci API jika diperlukan. Uji koneksi. Server model lokal harus berjalan; alat jarak jauh dapat mengirim data secara terpisah.
- Proyek
- Uji semua nilai negatif dan masukan kosong, pecahkan seri lewat awal lalu akhir paling dini.
- Tinjau sebelum menerapkan
- Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.
Alur kerja
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